From 8bd62a2dfc75391b1dd62a6b1182dd23270bfd13 Mon Sep 17 00:00:00 2001 From: Avasam Date: Sat, 31 Aug 2024 14:00:00 -0400 Subject: [PATCH] Link more issues --- tempora/__init__.py | 1 + tempora/schedule.py | 4 ++-- tempora/timing.py | 12 +++++++----- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/tempora/__init__.py b/tempora/__init__.py index 94cda3c..d318688 100644 --- a/tempora/__init__.py +++ b/tempora/__init__.py @@ -70,6 +70,7 @@ def ensure_datetime(ob: AnyDatetime) -> datetime.datetime: def infer_datetime(ob: AnyDatetime | StructDatetime) -> datetime.datetime: if isinstance(ob, (time.struct_time, tuple)): + # '"int" is not assignable to "tzinfo"', but we don't pass that many parameters ob = datetime.datetime(*ob[:6]) # type: ignore[arg-type] return ensure_datetime(ob) diff --git a/tempora/schedule.py b/tempora/schedule.py index 84c747f..929edd5 100644 --- a/tempora/schedule.py +++ b/tempora/schedule.py @@ -128,7 +128,7 @@ class PeriodicCommandFixedDelay(PeriodicCommand): """ @classmethod - def at_time(cls, at, delay, target) -> Self: # type: ignore[override] + def at_time(cls, at, delay, target) -> Self: # type: ignore[override] # jaraco/tempora#39 """ >>> cmd = PeriodicCommandFixedDelay.at_time(0, 30, None) >>> cmd.delay.total_seconds() @@ -137,7 +137,7 @@ def at_time(cls, at, delay, target) -> Self: # type: ignore[override] at = cls._from_timestamp(at) cmd = cls.from_datetime(at) if isinstance(delay, numbers.Number): - delay = datetime.timedelta(seconds=delay) # type: ignore[arg-type] + delay = datetime.timedelta(seconds=delay) # type: ignore[arg-type] # python/mypy#3186#issuecomment-1571512649 cmd.delay = delay cmd.target = target return cmd diff --git a/tempora/timing.py b/tempora/timing.py index 9094d39..45666c4 100644 --- a/tempora/timing.py +++ b/tempora/timing.py @@ -96,7 +96,7 @@ class IntervalGovernor: def __init__(self, min_interval) -> None: if isinstance(min_interval, numbers.Number): - min_interval = datetime.timedelta(seconds=min_interval) # type: ignore[arg-type] + min_interval = datetime.timedelta(seconds=min_interval) # type: ignore[arg-type] # python/mypy#3186#issuecomment-1571512649 self.min_interval = min_interval self.last_call = None @@ -248,23 +248,25 @@ def __init__( ) -> None: self.delay = delay self.factor = factor - if isinstance(limit, (numbers.Number, int, float)): + if isinstance(limit, numbers.Number): limit_ = limit def limit_func(n: float, /) -> float: return max(0, min(limit_, n)) else: - limit_func = limit + # python/mypy#16946 or # python/mypy#13914 + limit_func: collections.abc.Callable[[float], float] = limit # type: ignore[no-redef] self.limit = limit_func - if isinstance(jitter, (numbers.Number, int, float)): + if isinstance(jitter, numbers.Number): jitter_ = jitter def jitter_func() -> float: return jitter_ else: - jitter_func = jitter + # python/mypy#16946 or # python/mypy#13914 + jitter_func: collections.abc.Callable[[], float] = jitter # type: ignore[no-redef] self.jitter = jitter_func