Replace pytz dependency in tests (#3165)

This commit is contained in:
Will Thong 2023-08-15 19:07:39 +01:00 committed by GitHub
commit 2eeff62fd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 16 deletions

View file

@ -64,7 +64,6 @@ automatically installed without any action on your part:
* `pygments <https://pypi.org/project/Pygments/>`_, for syntax highlighting * `pygments <https://pypi.org/project/Pygments/>`_, for syntax highlighting
* `docutils <https://pypi.org/project/docutils/>`_, for supporting * `docutils <https://pypi.org/project/docutils/>`_, for supporting
reStructuredText as an input format reStructuredText as an input format
* `pytz <https://pypi.org/project/pytz/>`_, for timezone definitions
* `blinker <https://pypi.org/project/blinker/>`_, an object-to-object and * `blinker <https://pypi.org/project/blinker/>`_, an object-to-object and
broadcast signaling system broadcast signaling system
* `unidecode <https://pypi.org/project/Unidecode/>`_, for ASCII * `unidecode <https://pypi.org/project/Unidecode/>`_, for ASCII

View file

@ -9,9 +9,9 @@ from html import unescape
from urllib.parse import unquote, urljoin, urlparse, urlunparse from urllib.parse import unquote, urljoin, urlparse, urlunparse
try: try:
import zoneinfo from zoneinfo import ZoneInfo
except ModuleNotFoundError: except ModuleNotFoundError:
from backports import zoneinfo from backports.zoneinfo import ZoneInfo
from pelican.plugins import signals from pelican.plugins import signals
@ -127,7 +127,7 @@ class Content:
# manage timezone # manage timezone
default_timezone = settings.get("TIMEZONE", "UTC") default_timezone = settings.get("TIMEZONE", "UTC")
timezone = getattr(self, "timezone", default_timezone) timezone = getattr(self, "timezone", default_timezone)
self.timezone = zoneinfo.ZoneInfo(timezone) self.timezone = ZoneInfo(timezone)
if hasattr(self, 'date'): if hasattr(self, 'date'):
self.date = set_date_tzinfo(self.date, timezone) self.date = set_date_tzinfo(self.date, timezone)

View file

@ -3,10 +3,14 @@ import logging
import os import os
import shutil import shutil
import time import time
from datetime import timezone
from sys import platform from sys import platform
from tempfile import mkdtemp from tempfile import mkdtemp
import pytz try:
from zoneinfo import ZoneInfo
except ModuleNotFoundError:
from backports.zoneinfo import ZoneInfo
from pelican import utils from pelican import utils
from pelican.generators import TemplatePagesGenerator from pelican.generators import TemplatePagesGenerator
@ -50,21 +54,21 @@ class TestUtils(LoggedTestCase):
year=2012, month=11, day=22, hour=22, minute=11) year=2012, month=11, day=22, hour=22, minute=11)
date_hour_z = utils.SafeDatetime( date_hour_z = utils.SafeDatetime(
year=2012, month=11, day=22, hour=22, minute=11, year=2012, month=11, day=22, hour=22, minute=11,
tzinfo=pytz.timezone('UTC')) tzinfo=timezone.utc)
date_hour_est = utils.SafeDatetime( date_hour_est = utils.SafeDatetime(
year=2012, month=11, day=22, hour=22, minute=11, year=2012, month=11, day=22, hour=22, minute=11,
tzinfo=pytz.timezone('EST')) tzinfo=ZoneInfo("EST"))
date_hour_sec = utils.SafeDatetime( date_hour_sec = utils.SafeDatetime(
year=2012, month=11, day=22, hour=22, minute=11, second=10) year=2012, month=11, day=22, hour=22, minute=11, second=10)
date_hour_sec_z = utils.SafeDatetime( date_hour_sec_z = utils.SafeDatetime(
year=2012, month=11, day=22, hour=22, minute=11, second=10, year=2012, month=11, day=22, hour=22, minute=11, second=10,
tzinfo=pytz.timezone('UTC')) tzinfo=timezone.utc)
date_hour_sec_est = utils.SafeDatetime( date_hour_sec_est = utils.SafeDatetime(
year=2012, month=11, day=22, hour=22, minute=11, second=10, year=2012, month=11, day=22, hour=22, minute=11, second=10,
tzinfo=pytz.timezone('EST')) tzinfo=ZoneInfo("EST"))
date_hour_sec_frac_z = utils.SafeDatetime( date_hour_sec_frac_z = utils.SafeDatetime(
year=2012, month=11, day=22, hour=22, minute=11, second=10, year=2012, month=11, day=22, hour=22, minute=11, second=10,
microsecond=123000, tzinfo=pytz.timezone('UTC')) microsecond=123000, tzinfo=timezone.utc)
dates = { dates = {
'2012-11-22': date, '2012-11-22': date,
'2012/11/22': date, '2012/11/22': date,
@ -86,13 +90,13 @@ class TestUtils(LoggedTestCase):
iso_8601_date = utils.SafeDatetime(year=1997, month=7, day=16) iso_8601_date = utils.SafeDatetime(year=1997, month=7, day=16)
iso_8601_date_hour_tz = utils.SafeDatetime( iso_8601_date_hour_tz = utils.SafeDatetime(
year=1997, month=7, day=16, hour=19, minute=20, year=1997, month=7, day=16, hour=19, minute=20,
tzinfo=pytz.timezone('CET')) tzinfo=ZoneInfo("Europe/London"))
iso_8601_date_hour_sec_tz = utils.SafeDatetime( iso_8601_date_hour_sec_tz = utils.SafeDatetime(
year=1997, month=7, day=16, hour=19, minute=20, second=30, year=1997, month=7, day=16, hour=19, minute=20, second=30,
tzinfo=pytz.timezone('CET')) tzinfo=ZoneInfo("Europe/London"))
iso_8601_date_hour_sec_ms_tz = utils.SafeDatetime( iso_8601_date_hour_sec_ms_tz = utils.SafeDatetime(
year=1997, month=7, day=16, hour=19, minute=20, second=30, year=1997, month=7, day=16, hour=19, minute=20, second=30,
microsecond=450000, tzinfo=pytz.timezone('CET')) microsecond=450000, tzinfo=ZoneInfo("Europe/London"))
iso_8601 = { iso_8601 = {
'1997-07-16': iso_8601_date, '1997-07-16': iso_8601_date,
'1997-07-16T19:20+01:00': iso_8601_date_hour_tz, '1997-07-16T19:20+01:00': iso_8601_date_hour_tz,

View file

@ -19,9 +19,9 @@ from operator import attrgetter
import dateutil.parser import dateutil.parser
try: try:
import zoneinfo from zoneinfo import ZoneInfo
except ModuleNotFoundError: except ModuleNotFoundError:
from backports import zoneinfo from backports.zoneinfo import ZoneInfo
from markupsafe import Markup from markupsafe import Markup
@ -921,7 +921,7 @@ class FileSystemWatcher:
def set_date_tzinfo(d, tz_name=None): def set_date_tzinfo(d, tz_name=None):
"""Set the timezone for dates that don't have tzinfo""" """Set the timezone for dates that don't have tzinfo"""
if tz_name and not d.tzinfo: if tz_name and not d.tzinfo:
timezone = zoneinfo.ZoneInfo(tz_name) timezone = ZoneInfo(tz_name)
d = d.replace(tzinfo=timezone) d = d.replace(tzinfo=timezone)
return SafeDatetime( return SafeDatetime(
d.year, d.month, d.day, d.hour, d.minute, d.second, d.microsecond, d.tzinfo d.year, d.month, d.day, d.hour, d.minute, d.second, d.microsecond, d.tzinfo