summaryrefslogtreecommitdiff
path: root/src/apscheduler/triggers
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2022-01-01 23:34:37 +0200
committerAlex Grönholm <alex.gronholm@nextday.fi>2022-01-02 00:40:13 +0200
commit46076956fed73635ee05db51f9116096039e9cde (patch)
tree6dfea242ef0ff1f5fc807cb864275c1b381425ba /src/apscheduler/triggers
parenta9b8d6caa1db4afd29b769e52da7ddd937726c84 (diff)
downloadapscheduler-46076956fed73635ee05db51f9116096039e9cde.tar.gz
Upgraded attrs and its imports
We now import "attrs" instead of "attr".
Diffstat (limited to 'src/apscheduler/triggers')
-rw-r--r--src/apscheduler/triggers/calendarinterval.py14
-rw-r--r--src/apscheduler/triggers/combining.py12
-rw-r--r--src/apscheduler/triggers/cron/__init__.py12
-rw-r--r--src/apscheduler/triggers/date.py8
-rw-r--r--src/apscheduler/triggers/interval.py12
5 files changed, 29 insertions, 29 deletions
diff --git a/src/apscheduler/triggers/calendarinterval.py b/src/apscheduler/triggers/calendarinterval.py
index 2c380d3..8d0990d 100644
--- a/src/apscheduler/triggers/calendarinterval.py
+++ b/src/apscheduler/triggers/calendarinterval.py
@@ -3,7 +3,7 @@ from __future__ import annotations
from datetime import date, datetime, time, timedelta, tzinfo
from typing import Any, Optional
-import attr
+import attrs
from ..abc import Trigger
from ..marshalling import marshal_date, marshal_timezone, unmarshal_date, unmarshal_timezone
@@ -11,7 +11,7 @@ from ..util import timezone_repr
from ..validators import as_date, as_timezone, require_state_version
-@attr.define(kw_only=True)
+@attrs.define(kw_only=True)
class CalendarIntervalTrigger(Trigger):
"""
Runs the task on specified calendar-based intervals always at the same exact time of day.
@@ -63,11 +63,11 @@ class CalendarIntervalTrigger(Trigger):
hour: int = 0
minute: int = 0
second: int = 0
- start_date: date = attr.field(converter=as_date, factory=date.today)
- end_date: date | None = attr.field(converter=as_date, default=None)
- timezone: tzinfo = attr.field(converter=as_timezone, default='local')
- _time: time = attr.field(init=False, eq=False)
- _last_fire_date: Optional[date] = attr.field(init=False, eq=False, default=None)
+ start_date: date = attrs.field(converter=as_date, factory=date.today)
+ end_date: date | None = attrs.field(converter=as_date, default=None)
+ timezone: tzinfo = attrs.field(converter=as_timezone, default='local')
+ _time: time = attrs.field(init=False, eq=False)
+ _last_fire_date: Optional[date] = attrs.field(init=False, eq=False, default=None)
def __attrs_post_init__(self) -> None:
self._time = time(self.hour, self.minute, self.second, tzinfo=self.timezone)
diff --git a/src/apscheduler/triggers/combining.py b/src/apscheduler/triggers/combining.py
index c719073..fa0b5c9 100644
--- a/src/apscheduler/triggers/combining.py
+++ b/src/apscheduler/triggers/combining.py
@@ -4,7 +4,7 @@ from abc import abstractmethod
from datetime import datetime, timedelta
from typing import Any, Optional
-import attr
+import attrs
from ..abc import Trigger
from ..exceptions import MaxIterationsReached
@@ -12,10 +12,10 @@ from ..marshalling import marshal_object, unmarshal_object
from ..validators import as_timedelta, require_state_version
-@attr.define
+@attrs.define
class BaseCombiningTrigger(Trigger):
triggers: list[Trigger]
- _next_fire_times: list[Optional[datetime]] = attr.field(init=False, eq=False, factory=list)
+ _next_fire_times: list[Optional[datetime]] = attrs.field(init=False, eq=False, factory=list)
def __getstate__(self) -> dict[str, Any]:
return {
@@ -30,7 +30,7 @@ class BaseCombiningTrigger(Trigger):
self._next_fire_times = state['next_fire_times']
-@attr.define
+@attrs.define
class AndTrigger(BaseCombiningTrigger):
"""
Fires on times produced by the enclosed triggers whenever the fire times are within the given
@@ -50,7 +50,7 @@ class AndTrigger(BaseCombiningTrigger):
:param max_iterations: maximum number of iterations of fire time calculations before giving up
"""
- threshold: timedelta = attr.field(converter=as_timedelta, default=1)
+ threshold: timedelta = attrs.field(converter=as_timedelta, default=1)
max_iterations: Optional[int] = 10000
def next(self) -> Optional[datetime]:
@@ -102,7 +102,7 @@ class AndTrigger(BaseCombiningTrigger):
f'threshold={self.threshold.total_seconds()}, max_iterations={self.max_iterations})'
-@attr.define
+@attrs.define
class OrTrigger(BaseCombiningTrigger):
"""
Fires on every fire time of every trigger in chronological order.
diff --git a/src/apscheduler/triggers/cron/__init__.py b/src/apscheduler/triggers/cron/__init__.py
index 40da147..1c1e582 100644
--- a/src/apscheduler/triggers/cron/__init__.py
+++ b/src/apscheduler/triggers/cron/__init__.py
@@ -3,7 +3,7 @@ from __future__ import annotations
from datetime import datetime, timedelta, tzinfo
from typing import Any, ClassVar, Optional, Sequence
-import attr
+import attrs
from tzlocal import get_localzone
from ...abc import Trigger
@@ -14,7 +14,7 @@ from .fields import (
DEFAULT_VALUES, BaseField, DayOfMonthField, DayOfWeekField, MonthField, WeekField)
-@attr.define(kw_only=True)
+@attrs.define(kw_only=True)
class CronTrigger(Trigger):
"""
Triggers when current time matches all specified time constraints, similarly to how the UNIX
@@ -55,11 +55,11 @@ class CronTrigger(Trigger):
hour: int | str | None = None
minute: int | str | None = None
second: int | str | None = None
- start_time: datetime = attr.field(converter=as_aware_datetime, factory=datetime.now)
+ start_time: datetime = attrs.field(converter=as_aware_datetime, factory=datetime.now)
end_time: datetime | None = None
- timezone: tzinfo | str = attr.field(converter=as_timezone, factory=get_localzone)
- _fields: list[BaseField] = attr.field(init=False, eq=False, factory=list)
- _last_fire_time: Optional[datetime] = attr.field(init=False, eq=False, default=None)
+ timezone: tzinfo | str = attrs.field(converter=as_timezone, factory=get_localzone)
+ _fields: list[BaseField] = attrs.field(init=False, eq=False, factory=list)
+ _last_fire_time: Optional[datetime] = attrs.field(init=False, eq=False, default=None)
def __attrs_post_init__(self) -> None:
self._set_fields([self.year, self.month, self.day, self.week, self.day_of_week, self.hour,
diff --git a/src/apscheduler/triggers/date.py b/src/apscheduler/triggers/date.py
index db06130..08494c3 100644
--- a/src/apscheduler/triggers/date.py
+++ b/src/apscheduler/triggers/date.py
@@ -3,14 +3,14 @@ from __future__ import annotations
from datetime import datetime
from typing import Any, Optional
-import attr
+import attrs
from ..abc import Trigger
from ..marshalling import marshal_date, unmarshal_date
from ..validators import as_aware_datetime, require_state_version
-@attr.define
+@attrs.define
class DateTrigger(Trigger):
"""
Triggers once on the given date/time.
@@ -18,8 +18,8 @@ class DateTrigger(Trigger):
:param run_time: the date/time to run the job at
"""
- run_time: datetime = attr.field(converter=as_aware_datetime)
- _completed: bool = attr.field(init=False, eq=False, default=False)
+ run_time: datetime = attrs.field(converter=as_aware_datetime)
+ _completed: bool = attrs.field(init=False, eq=False, default=False)
def next(self) -> Optional[datetime]:
if not self._completed:
diff --git a/src/apscheduler/triggers/interval.py b/src/apscheduler/triggers/interval.py
index 1b11095..0f85d36 100644
--- a/src/apscheduler/triggers/interval.py
+++ b/src/apscheduler/triggers/interval.py
@@ -3,14 +3,14 @@ from __future__ import annotations
from datetime import datetime, timedelta
from typing import Any, Optional
-import attr
+import attrs
from ..abc import Trigger
from ..marshalling import marshal_date, unmarshal_date
from ..validators import as_aware_datetime, require_state_version
-@attr.define(kw_only=True)
+@attrs.define(kw_only=True)
class IntervalTrigger(Trigger):
"""
Triggers on specified intervals.
@@ -36,10 +36,10 @@ class IntervalTrigger(Trigger):
minutes: float = 0
seconds: float = 0
microseconds: float = 0
- start_time: datetime = attr.field(converter=as_aware_datetime, factory=datetime.now)
- end_time: Optional[datetime] = attr.field(converter=as_aware_datetime, default=None)
- _interval: timedelta = attr.field(init=False, eq=False, repr=False)
- _last_fire_time: Optional[datetime] = attr.field(init=False, eq=False, default=None)
+ start_time: datetime = attrs.field(converter=as_aware_datetime, factory=datetime.now)
+ end_time: Optional[datetime] = attrs.field(converter=as_aware_datetime, default=None)
+ _interval: timedelta = attrs.field(init=False, eq=False, repr=False)
+ _last_fire_time: Optional[datetime] = attrs.field(init=False, eq=False, default=None)
def __attrs_post_init__(self) -> None:
self._interval = timedelta(weeks=self.weeks, days=self.days, hours=self.hours,