Get multiple accounts

pull/385/head
Alex Camilleri 2024-10-22 23:58:14 +02:00
rodzic 47aa316c36
commit 5342fd8f7a
4 zmienionych plików z 30 dodań i 9 usunięć

Wyświetl plik

@ -15,6 +15,7 @@ Reading
.. automethod:: Mastodon.account
.. automethod:: Mastodon.account_search
.. automethod:: Mastodon.account_lookup
.. automethod:: Mastodon.accounts
.. automethod:: Mastodon.featured_tags
.. automethod:: Mastodon.featured_tag_suggestions

Wyświetl plik

@ -1,8 +1,8 @@
Every function on a huge CTRL-F-able page
=========================================
.. py:module:: mastodon
.. py:class: Mastodon
Every function on a huge CTRL-F-able page
=========================================
.. py:module:: mastodon
.. py:class: Mastodon
.. automethod:: Mastodon.retrieve_mastodon_version
.. automethod:: Mastodon.verify_minimum_version
.. automethod:: Mastodon.create_app
@ -51,6 +51,7 @@ Every function on a huge CTRL-F-able page
.. automethod:: Mastodon.account
.. automethod:: Mastodon.account_search
.. automethod:: Mastodon.account_lookup
.. automethod:: Mastodon.accounts
.. automethod:: Mastodon.featured_tags
.. automethod:: Mastodon.featured_tag_suggestions
.. automethod:: Mastodon.account_featured_tags
@ -184,5 +185,5 @@ Every function on a huge CTRL-F-able page
.. automethod:: Mastodon.admin_delete_domain_block
.. automethod:: Mastodon.admin_measures
.. automethod:: Mastodon.admin_dimensions
.. automethod:: Mastodon.admin_retention
.. automethod:: Mastodon.admin_retention

Wyświetl plik

@ -84,7 +84,7 @@ class Mastodon(Internals):
self.access_token = response['access_token']
self.__set_refresh_token(response.get('refresh_token'))
self.__set_token_expired(int(response.get('expires_in', 0)))
except Exception as e:
except Exception:
raise MastodonIllegalArgumentError('Invalid request')
# Step 3: Check scopes, persist, et cetera
@ -133,6 +133,16 @@ class Mastodon(Internals):
id = self.__unpack_id(id)
return self.__api_request('GET', f'/api/v1/accounts/{id}')
@api_version("4.3.0", "4.3.0", _DICT_VERSION_ACCOUNT)
def accounts(self, ids: List[Union[Account, IdType]]) -> List[Account]:
"""
Fetch information from multiple accounts by a list of user `id`.
Does not require authentication for publicly visible accounts.
"""
ids = [self.__unpack_id(id) for id in ids]
return self.__api_request('GET', '/api/v1/accounts', {"id": ids})
@api_version("1.0.0", "2.1.0", _DICT_VERSION_ACCOUNT)
def account_verify_credentials(self) -> Account:
"""
@ -255,7 +265,7 @@ class Mastodon(Internals):
"""
params = self.__generate_params(locals())
if params["following"] == False:
if params["following"] is False:
del params["following"]
return self.__api_request('GET', '/api/v1/accounts/search', params)

Wyświetl plik

@ -8,6 +8,15 @@ def test_account(api):
account = api.account(api.account_verify_credentials())
assert account
@pytest.mark.vcr()
def test_accounts(api):
account_ids = [
api.account_lookup("mastodonpy_test").id,
api.account_lookup("mastodonpy_test_2").id
]
accounts = api.accounts(account_ids)
assert len(accounts) == 2
@pytest.mark.vcr()
def test_verify_credentials(api):
account_a = api.account_verify_credentials()