replace pytz with datetime.timezone and zoneinfo

pull/287/head
Miroslav Šedivý 2022-11-30 20:21:04 +01:00
rodzic 53cb42117b
commit 5262d58a0b
3 zmienionych plików z 7 dodań i 9 usunięć

Wyświetl plik

@ -11,7 +11,6 @@ import string
import datetime
import collections
from contextlib import closing
import pytz
import requests
from requests.models import urlencode
import dateutil
@ -3928,11 +3927,11 @@ class Mastodon:
"""
date_time_utc = None
if date_time.tzinfo is None:
date_time_utc = date_time.replace(tzinfo=pytz.utc)
date_time_utc = date_time.replace(tzinfo=datetime.timezone.utc)
else:
date_time_utc = date_time.astimezone(pytz.utc)
date_time_utc = date_time.astimezone(datetime.timezone.utc)
epoch_utc = datetime.datetime.utcfromtimestamp(0).replace(tzinfo=pytz.utc)
epoch_utc = datetime.datetime.utcfromtimestamp(0).replace(tzinfo=datetime.timezone.utc)
return (date_time_utc - epoch_utc).total_seconds()
@ -3967,7 +3966,7 @@ class Mastodon:
if v is not None:
try:
if isinstance(v, int):
json_object[k] = datetime.datetime.fromtimestamp(v, pytz.utc)
json_object[k] = datetime.datetime.fromtimestamp(v, datetime.timezone.utc)
else:
json_object[k] = dateutil.parser.parse(v)
except:
@ -4023,7 +4022,7 @@ class Mastodon:
every time instead of randomly doing different things on some systems
and also it represents that time as the equivalent UTC time.
"""
isotime = datetime_val.astimezone(pytz.utc).strftime("%Y-%m-%dT%H:%M:%S%z")
isotime = datetime_val.astimezone(datetime.timezone.utc).strftime("%Y-%m-%dT%H:%M:%S%z")
if isotime[-2] != ":":
isotime = isotime[:-2] + ":" + isotime[-2:]
return isotime

Wyświetl plik

@ -33,7 +33,6 @@ setup(name='Mastodon.py',
'requests>=2.4.2',
'python-dateutil',
'six',
'pytz',
'python-magic',
'decorator>=4.0.0',
] + blurhash_deps,

Wyświetl plik

@ -1,7 +1,7 @@
import pytest
from mastodon.Mastodon import MastodonAPIError, MastodonNotFoundError
import datetime
import pytz
import zoneinfo
import vcr
import time
import pickle
@ -154,7 +154,7 @@ def test_status_pin_unpin(status, api):
@pytest.mark.vcr(match_on=['path'])
def test_scheduled_status(api):
base_time = datetime.datetime(4000, 1, 1, 12, 13, 14, 0, pytz.timezone("Etc/GMT+2"))
base_time = datetime.datetime(4000, 1, 1, 12, 13, 14, 0, zoneinfo.ZoneInfo("Etc/GMT+2"))
the_future = base_time + datetime.timedelta(minutes=20)
scheduled_toot = api.status_post("please ensure adequate headroom", scheduled_at=the_future)
assert scheduled_toot