Skip to content

Commit d88ba8b

Browse files
committed
rename zoneinfo and remove unnecessary conversions
1 parent e0f52ec commit d88ba8b

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

django_celery_beat/schedulers.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -332,14 +332,14 @@ def _get_crontab_exclude_query(self):
332332
# Handle each timezone specifically
333333
*[
334334
When(
335-
timezone=timezone_name,
335+
timezone=timezone,
336336
then=(
337337
F('hour_int')
338-
+ self._get_timezone_offset(timezone_name)
338+
+ self._get_timezone_offset(timezone)
339339
+ 24
340340
) % 24
341341
)
342-
for timezone_name in self._get_unique_timezones()
342+
for timezone in self._get_unique_timezones()
343343
],
344344
# Default case - use hour as is
345345
default=F('hour_int')
@@ -387,7 +387,7 @@ def _get_unique_timezones(self) -> set[ZoneInfo]:
387387
)
388388
)
389389

390-
def _get_timezone_offset(self, timezone_name):
390+
def _get_timezone_offset(self, timezone: ZoneInfo) -> int:
391391
"""
392392
Args:
393393
timezone_name: The name of the timezone or a ZoneInfo object
@@ -403,17 +403,12 @@ def _get_timezone_offset(self, timezone_name):
403403
else:
404404
server_tz = ZoneInfo(str(server_time.tzinfo))
405405

406-
if isinstance(timezone_name, ZoneInfo):
407-
timezone_name = timezone_name.key
408-
409-
target_tz = ZoneInfo(timezone_name)
410-
411406
# Use a fixed point in time for the calculation to avoid DST issues
412407
fixed_dt = datetime.datetime(2023, 1, 1, 12, 0, 0)
413408

414409
# Calculate the offset
415410
dt1 = fixed_dt.replace(tzinfo=server_tz)
416-
dt2 = fixed_dt.replace(tzinfo=target_tz)
411+
dt2 = fixed_dt.replace(tzinfo=timezone)
417412

418413
# Calculate hour difference
419414
offset_seconds = (

0 commit comments

Comments
 (0)