kopia lustrzana https://github.com/halcy/Mastodon.py
Merge branch 'modern-datetime' of https://github.com/eumiro/Mastodon.py into eumiro-modern-datetime
commit
2d7f495b0f
|
@ -7,6 +7,7 @@ import os.path
|
|||
import time
|
||||
import datetime
|
||||
import collections
|
||||
from contextlib import closing
|
||||
import requests
|
||||
from requests.models import urlencode
|
||||
import dateutil
|
||||
|
@ -3744,4 +3745,3 @@ class Mastodon(Internals):
|
|||
if api_okay in [b'OK', b'success']:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@ import mimetypes
|
|||
import threading
|
||||
import six
|
||||
import uuid
|
||||
import pytz
|
||||
import dateutil.parser
|
||||
import time
|
||||
import copy
|
||||
|
@ -24,7 +23,7 @@ from .defaults import _DEFAULT_STREAM_TIMEOUT, _DEFAULT_STREAM_RECONNECT_WAIT_SE
|
|||
###
|
||||
# Internal helpers, dragons probably
|
||||
###
|
||||
class Mastodon():
|
||||
class Mastodon():
|
||||
def __datetime_to_epoch(self, date_time):
|
||||
"""
|
||||
Converts a python datetime to unix epoch, accounting for
|
||||
|
@ -32,15 +31,10 @@ class Mastodon():
|
|||
|
||||
Assumes UTC if timezone is not given.
|
||||
"""
|
||||
date_time_utc = None
|
||||
if date_time.tzinfo is None:
|
||||
date_time_utc = date_time.replace(tzinfo=pytz.utc)
|
||||
else:
|
||||
date_time_utc = date_time.astimezone(pytz.utc)
|
||||
date_time = date_time.replace(tzinfo=datetime.timezone.utc)
|
||||
return date_time.timestamp()
|
||||
|
||||
epoch_utc = datetime.datetime.utcfromtimestamp(0).replace(tzinfo=pytz.utc)
|
||||
|
||||
return (date_time_utc - epoch_utc).total_seconds()
|
||||
|
||||
def __get_logged_in_id(self):
|
||||
"""
|
||||
|
@ -73,7 +67,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:
|
||||
|
@ -129,7 +123,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
|
||||
|
|
1
setup.py
1
setup.py
|
@ -33,7 +33,6 @@ setup(name='Mastodon.py',
|
|||
'requests>=2.4.2',
|
||||
'python-dateutil',
|
||||
'six',
|
||||
'pytz',
|
||||
'python-magic',
|
||||
'decorator>=4.0.0',
|
||||
] + blurhash_deps,
|
||||
|
|
|
@ -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
|
||||
|
|
Ładowanie…
Reference in New Issue