fix #420 - warnings on some internal __instance calls

master
halcy 2025-09-01 22:40:06 +03:00
rodzic 48ad964057
commit c7d2b7e567
2 zmienionych plików z 11 dodań i 4 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
# instance.py - instance-level endpoints, directory, emoji, announcements
from mastodon.errors import MastodonIllegalArgumentError, MastodonNotFoundError
from mastodon.errors import MastodonDeprecationWarning, MastodonIllegalArgumentError, MastodonNotFoundError
from mastodon.utility import api_version
from mastodon.compat import urlparse
@ -9,6 +9,7 @@ from mastodon.return_types import Instance, InstanceV2, NonPaginatableList, Acti
from typing import Union, Optional, Dict, List
import datetime
import warnings
class Mastodon(Internals):
###
@ -24,13 +25,19 @@ class Mastodon(Internals):
This is the explicit v1 version of this function. The v2 version is available through instance_v2().
It contains a bit more information than this one, but does not include whether invites are enabled.
"""
return self.__instance()
instance = self.__api_request('GET', '/api/v1/instance/', override_type=Instance)
return instance
def __instance(self) -> Instance:
"""
Internal, non-version-checking helper that does the same as instance_v1()
Silences the deprecation warnning, we are careful about fallbacks anywhere this is used.
If you are using this, this is your notice to do that.
"""
instance = self.__api_request('GET', '/api/v1/instance/', override_type=Instance)
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=MastodonDeprecationWarning)
instance = self.__api_request('GET', '/api/v1/instance/', override_type=Instance)
return instance
@api_version("4.0.0", "4.0.0")

Wyświetl plik

@ -379,7 +379,7 @@ class Mastodon():
streaming_api_url = instance["urls"]["streaming_api"]
except:
try:
streaming_api_url = self.instance_v2().configuration.urls.streaming
streaming_api_url = self.__instance_v2().configuration.urls.streaming
except:
pass