From 911fcc733cb60694e59f4c2bdf61e66219cd1508 Mon Sep 17 00:00:00 2001 From: Alex McGivern Date: Wed, 26 Apr 2017 12:59:49 +0100 Subject: added calls for fetching instance data, status cards, filing reports, and updating the user profile --- mastodon/Mastodon.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/mastodon/Mastodon.py b/mastodon/Mastodon.py index 4717674..919825a 100644 --- a/mastodon/Mastodon.py +++ b/mastodon/Mastodon.py @@ -213,6 +213,17 @@ class Mastodon: return response['access_token'] + ### + # Reading data: Instance + ### + def instance(self): + """ + Retrieve basic information about the instance, including the URI and administrative contact email. + + Returns a dict. + """ + return self.__api_request('GET', '/api/v1/instance/') + ### # Reading data: Timelines ## @@ -277,6 +288,14 @@ class Mastodon: """ return self.__api_request('GET', '/api/v1/statuses/' + str(id)) + def status_card(self, id): + """ + Fetch a card associated with a status. + + Returns a card dict. + """ + return self.__api_request('GET', '/api/v1/statuses/' + str(id) + '/card') + def status_context(self, id): """ Fetch information about ancestors and descendants of a toot. @@ -392,7 +411,6 @@ class Mastodon: """ params = self.__generate_params(locals()) return self.__api_request('GET', '/api/v1/accounts/search', params) - ### # Reading data: Searching @@ -426,6 +444,17 @@ class Mastodon: """ return self.__api_request('GET', '/api/v1/blocks') + ### + # Reading data: Reports + ### + def reports(self): + """ + Fetch a list of reports made by the authenticated user. + + Returns a list of report dicts. + """ + return self.__api_request('GET', '/api/v1/reports') + ### # Reading data: Favourites ### @@ -611,6 +640,31 @@ class Mastodon: """ return self.__api_request('POST', '/api/v1/accounts/' + str(id) + "/unmute") + def account_update_credentials(self, display_name = None, note = None, avatar = None, header = None): + """ + Update the profile for the currently authenticated user. + + 'note' is the user's bio. + + 'avatar' and 'header' are PNG images encoded in base64. + """ + params = self.__generate_params(locals()) + return self.__api_request('POST', '/api/v1/accounts/update_credentials', params) + + ### + # Writing data: Reports + ### + def report(self, id, toots, comment): + """ + Report a user to the admin. + + Accepts a list of toot IDs associated with the report, and a comment. + + Returns a report dict. + """ + params = self.__generate_params(locals()) + return self.__api_request('POST', '/api/v1/reports/', params) + ### # Writing data: Follow requests ### -- cgit v1.2.3