Merge pull request #248 from fwaggle/fix-gotosocial

Fix gotosocial issues
This commit is contained in:
Lorenz Diener 2022-11-05 23:57:17 +02:00 committed by GitHub
commit 421aa06b0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -421,20 +421,20 @@ class Mastodon:
if not (self.api_base_url is None or try_base_url == self.api_base_url): if not (self.api_base_url is None or try_base_url == self.api_base_url):
raise MastodonIllegalArgumentError('Mismatch in base URLs between files and/or specified') raise MastodonIllegalArgumentError('Mismatch in base URLs between files and/or specified')
self.api_base_url = try_base_url self.api_base_url = try_base_url
if not version_check_mode in ["created", "changed", "none"]:
raise MastodonIllegalArgumentError("Invalid version check method.")
self.version_check_mode = version_check_mode
# Versioning # Versioning
if mastodon_version == None: if mastodon_version == None and self.version_check_mode != 'none':
self.retrieve_mastodon_version() self.retrieve_mastodon_version()
else: elif self.version_check_mode != 'none':
try: try:
self.mastodon_major, self.mastodon_minor, self.mastodon_patch = parse_version_string(mastodon_version) self.mastodon_major, self.mastodon_minor, self.mastodon_patch = parse_version_string(mastodon_version)
except: except:
raise MastodonVersionError("Bad version specified") raise MastodonVersionError("Bad version specified")
if not version_check_mode in ["created", "changed", "none"]:
raise MastodonIllegalArgumentError("Invalid version check method.")
self.version_check_mode = version_check_mode
# Ratelimiting parameter check # Ratelimiting parameter check
if ratelimit_method not in ["throw", "wait", "pace"]: if ratelimit_method not in ["throw", "wait", "pace"]:
raise MastodonIllegalArgumentError("Invalid ratelimit method.") raise MastodonIllegalArgumentError("Invalid ratelimit method.")
@ -3407,8 +3407,11 @@ class Mastodon:
self.ratelimit_limit = int(response_object.headers['X-RateLimit-Limit']) self.ratelimit_limit = int(response_object.headers['X-RateLimit-Limit'])
try: try:
ratelimit_reset_datetime = dateutil.parser.parse(response_object.headers['X-RateLimit-Reset']) if str(int(response_object.headers['X-RateLimit-Reset'])) == response_object.headers['X-RateLimit-Reset']:
self.ratelimit_reset = self.__datetime_to_epoch(ratelimit_reset_datetime) self.ratelimit_reset = int(response_object.headers['X-RateLimit-Reset'])
else:
ratelimit_reset_datetime = dateutil.parser.parse(response_object.headers['X-RateLimit-Reset'])
self.ratelimit_reset = self.__datetime_to_epoch(ratelimit_reset_datetime)
# Adjust server time to local clock # Adjust server time to local clock
if 'Date' in response_object.headers: if 'Date' in response_object.headers: