This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 10c6464d86a Remove unused functions from `airflow.utils.dates` (#43527)
10c6464d86a is described below

commit 10c6464d86adc7e3d74677065b892722e2c09238
Author: Kaxil Naik <[email protected]>
AuthorDate: Thu Oct 31 00:02:28 2024 +0000

    Remove unused functions from `airflow.utils.dates` (#43527)
    
    The code that used it was removed in 
https://github.com/apache/airflow/pull/37988 already. It was used in FAB views.
---
 airflow/utils/dates.py    | 38 +--------------------------------
 tests/utils/test_dates.py | 53 -----------------------------------------------
 2 files changed, 1 insertion(+), 90 deletions(-)

diff --git a/airflow/utils/dates.py b/airflow/utils/dates.py
index 7a9ac2d8031..0ff60a57df5 100644
--- a/airflow/utils/dates.py
+++ b/airflow/utils/dates.py
@@ -18,11 +18,10 @@
 from __future__ import annotations
 
 from datetime import datetime, timedelta
-from typing import TYPE_CHECKING, Collection
+from typing import TYPE_CHECKING
 
 from croniter import croniter
 
-from airflow.typing_compat import Literal
 from airflow.utils import timezone
 
 cron_presets: dict[str, str] = {
@@ -123,41 +122,6 @@ def round_time(
     # and this function returns start_date.
 
 
-TimeUnit = Literal["days", "hours", "minutes", "seconds"]
-
-
-def infer_time_unit(time_seconds_arr: Collection[float]) -> TimeUnit:
-    """
-    Determine the most appropriate time unit for given durations (in seconds).
-
-    e.g. 5400 seconds => 'minutes', 36000 seconds => 'hours'
-    """
-    if not time_seconds_arr:
-        return "hours"
-    max_time_seconds = max(time_seconds_arr)
-    if max_time_seconds <= 60 * 2:
-        return "seconds"
-    elif max_time_seconds <= 60 * 60 * 2:
-        return "minutes"
-    elif max_time_seconds <= 24 * 60 * 60 * 2:
-        return "hours"
-    else:
-        return "days"
-
-
-def scale_time_units(time_seconds_arr: Collection[float], unit: TimeUnit) -> 
Collection[float]:
-    """Convert an array of time durations in seconds to the specified time 
unit."""
-    if unit == "minutes":
-        factor = 60
-    elif unit == "hours":
-        factor = 60 * 60
-    elif unit == "days":
-        factor = 24 * 60 * 60
-    else:
-        factor = 1
-    return [x / factor for x in time_seconds_arr]
-
-
 def parse_execution_date(execution_date_str):
     """Parse execution date string to datetime object."""
     return timezone.parse(execution_date_str)
diff --git a/tests/utils/test_dates.py b/tests/utils/test_dates.py
index 9a789724e58..702bd730c1e 100644
--- a/tests/utils/test_dates.py
+++ b/tests/utils/test_dates.py
@@ -17,10 +17,7 @@
 # under the License.
 from __future__ import annotations
 
-from datetime import timedelta
-
 import pytest
-from dateutil.relativedelta import relativedelta
 
 from airflow.utils import dates, timezone
 
@@ -37,53 +34,3 @@ class TestDates:
         )
         with pytest.raises(ValueError):
             dates.parse_execution_date(bad_execution_date_str)
-
-    def test_round_time(self):
-        rt1 = dates.round_time(timezone.datetime(2015, 1, 1, 6), 
timedelta(days=1))
-        assert timezone.datetime(2015, 1, 1, 0, 0) == rt1
-
-        rt2 = dates.round_time(timezone.datetime(2015, 1, 2), 
relativedelta(months=1))
-        assert timezone.datetime(2015, 1, 1, 0, 0) == rt2
-
-        rt3 = dates.round_time(
-            timezone.datetime(2015, 9, 16, 0, 0), timedelta(1), 
timezone.datetime(2015, 9, 14, 0, 0)
-        )
-        assert timezone.datetime(2015, 9, 16, 0, 0) == rt3
-
-        rt4 = dates.round_time(
-            timezone.datetime(2015, 9, 15, 0, 0), timedelta(1), 
timezone.datetime(2015, 9, 14, 0, 0)
-        )
-        assert timezone.datetime(2015, 9, 15, 0, 0) == rt4
-
-        rt5 = dates.round_time(
-            timezone.datetime(2015, 9, 14, 0, 0), timedelta(1), 
timezone.datetime(2015, 9, 14, 0, 0)
-        )
-        assert timezone.datetime(2015, 9, 14, 0, 0) == rt5
-
-        rt6 = dates.round_time(
-            timezone.datetime(2015, 9, 13, 0, 0), timedelta(1), 
timezone.datetime(2015, 9, 14, 0, 0)
-        )
-        assert timezone.datetime(2015, 9, 14, 0, 0) == rt6
-
-    def test_infer_time_unit(self):
-        assert dates.infer_time_unit([130, 5400, 10]) == "minutes"
-
-        assert dates.infer_time_unit([110, 50, 10, 100]) == "seconds"
-
-        assert dates.infer_time_unit([100000, 50000, 10000, 20000]) == "hours"
-
-        assert dates.infer_time_unit([200000, 100000]) == "days"
-
-    def test_scale_time_units(self):
-        # floating point arrays
-        arr1 = dates.scale_time_units([130, 5400, 10], "minutes")
-        assert arr1 == pytest.approx([2.1667, 90.0, 0.1667], rel=1e-3)
-
-        arr2 = dates.scale_time_units([110, 50, 10, 100], "seconds")
-        assert arr2 == pytest.approx([110.0, 50.0, 10.0, 100.0])
-
-        arr3 = dates.scale_time_units([100000, 50000, 10000, 20000], "hours")
-        assert arr3 == pytest.approx([27.7778, 13.8889, 2.7778, 5.5556], 
rel=1e-3)
-
-        arr4 = dates.scale_time_units([200000, 100000], "days")
-        assert arr4 == pytest.approx([2.3147, 1.1574], rel=1e-3)

Reply via email to