Merge branch 'master' of https://github.com/halcy/Mastodon.py
This commit is contained in:
commit
00998d6d46
S'han modificat 3 arxius amb 31 adicions i 32 eliminacions
|
@ -8,11 +8,12 @@ Here's some general stuff to keep in mind, and some work that needs to be done
|
|||
* GET /api/v1/reports
|
||||
* POST /api/v1/reports
|
||||
* GET /api/v1/statuses/:id/card
|
||||
|
||||
* PATCH /api/v1/accounts/update_credentials
|
||||
|
||||
* Documentation that needs to be updated:
|
||||
* Toot dicts are missing some fields (cards, applications, visibility)
|
||||
* Some others probably are missing stuff also
|
||||
|
||||
|
||||
* Other things missing:
|
||||
* Transparent as well as explicit pagination support
|
||||
* Tests (long-term goal)
|
||||
|
|
|
@ -11,24 +11,24 @@ Mastodon.py
|
|||
'''
|
||||
Mastodon.create_app(
|
||||
'pytooterapp',
|
||||
to_file = 'pytooter_clientcred.txt'
|
||||
to_file = 'pytooter_clientcred.secret'
|
||||
)
|
||||
'''
|
||||
|
||||
# Log in - either every time, or use persisted
|
||||
'''
|
||||
mastodon = Mastodon(client_id = 'pytooter_clientcred.txt')
|
||||
mastodon = Mastodon(client_id = 'pytooter_clientcred.secret')
|
||||
mastodon.log_in(
|
||||
'my_login_email@example.com',
|
||||
'incrediblygoodpassword',
|
||||
to_file = 'pytooter_usercred.txt'
|
||||
to_file = 'pytooter_usercred.secret'
|
||||
)
|
||||
'''
|
||||
|
||||
# Create actual instance
|
||||
mastodon = Mastodon(
|
||||
client_id = 'pytooter_clientcred.txt',
|
||||
access_token = 'pytooter_usercred.txt'
|
||||
client_id = 'pytooter_clientcred.secret',
|
||||
access_token = 'pytooter_usercred.secret'
|
||||
)
|
||||
mastodon.toot('Tooting from python!')
|
||||
|
||||
|
@ -329,7 +329,8 @@ Writing data: Accounts
|
|||
These functions allow you to interact with other accounts: To (un)follow and
|
||||
(un)block.
|
||||
|
||||
.. automethod:: Mastodon.account_follow
|
||||
.. automethod:: Mastodon.account_follow
|
||||
.. automethod:: Mastodon.follows
|
||||
.. automethod:: Mastodon.account_unfollow
|
||||
.. automethod:: Mastodon.account_block
|
||||
.. automethod:: Mastodon.account_unblock
|
||||
|
|
|
@ -134,7 +134,6 @@ class Mastodon:
|
|||
|
||||
def auth_request_url(self, client_id = None, redirect_uris = "urn:ietf:wg:oauth:2.0:oob", scopes = ['read', 'write', 'follow']):
|
||||
"""Returns the url that a client needs to request the grant from the server.
|
||||
https://mastodon.social/oauth/authorize?client_id=XXX&response_type=code&redirect_uris=YYY&scope=read+write+follow
|
||||
"""
|
||||
if client_id is None:
|
||||
client_id = self.client_id
|
||||
|
@ -155,22 +154,20 @@ class Mastodon:
|
|||
code = None, redirect_uri = "urn:ietf:wg:oauth:2.0:oob", refresh_token = None,\
|
||||
scopes = ['read', 'write', 'follow'], to_file = None):
|
||||
"""
|
||||
Docs: https://github.com/doorkeeper-gem/doorkeeper/wiki/Interacting-as-an-OAuth-client-with-Doorkeeper
|
||||
Your username is the e-mail you use to log in into mastodon.
|
||||
|
||||
Notes:
|
||||
Your username is the e-mail you use to log in into mastodon.
|
||||
|
||||
Can persist access token to file, to be used in the constructor.
|
||||
|
||||
Supports refresh_token but Mastodon.social doesn't implement it at the moment.
|
||||
|
||||
Handles password, authorization_code, and refresh_token authentication.
|
||||
|
||||
Will throw a MastodonIllegalArgumentError if username / password
|
||||
are wrong, scopes are not valid or granted scopes differ from requested.
|
||||
Can persist access token to file, to be used in the constructor.
|
||||
|
||||
Supports refresh_token but Mastodon.social doesn't implement it at the moment.
|
||||
|
||||
Returns:
|
||||
str @access_token
|
||||
Handles password, authorization_code, and refresh_token authentication.
|
||||
|
||||
Will throw a MastodonIllegalArgumentError if username / password
|
||||
are wrong, scopes are not valid or granted scopes differ from requested.
|
||||
|
||||
For OAuth2 documentation, compare https://github.com/doorkeeper-gem/doorkeeper/wiki/Interacting-as-an-OAuth-client-with-Doorkeeper
|
||||
|
||||
Returns the access token.
|
||||
"""
|
||||
if username is not None and password is not None:
|
||||
params = self.__generate_params(locals(), ['scopes', 'to_file', 'code', 'refresh_token'])
|
||||
|
@ -383,15 +380,6 @@ class Mastodon:
|
|||
params = self.__generate_params(locals(), ['id'])
|
||||
return self.__api_request('GET', '/api/v1/accounts/' + str(id) + '/followers', params)
|
||||
|
||||
def follows(self, uri):
|
||||
"""
|
||||
Follow a remote user by uri (username@domain).
|
||||
|
||||
Returns a user dict.
|
||||
"""
|
||||
params = self.__generate_params(locals())
|
||||
return self.__api_request('POST', '/api/v1/follows', params)
|
||||
|
||||
def account_relationships(self, id):
|
||||
"""
|
||||
Fetch relationships (following, followed_by, blocking) of the logged in user to
|
||||
|
@ -600,6 +588,15 @@ class Mastodon:
|
|||
"""
|
||||
return self.__api_request('POST', '/api/v1/accounts/' + str(id) + "/follow")
|
||||
|
||||
def follows(self, uri):
|
||||
"""
|
||||
Follow a remote user by uri (username@domain).
|
||||
|
||||
Returns a user dict.
|
||||
"""
|
||||
params = self.__generate_params(locals())
|
||||
return self.__api_request('POST', '/api/v1/follows', params)
|
||||
|
||||
def account_unfollow(self, id):
|
||||
"""
|
||||
Unfollow a user.
|
||||
|
|
Loading…
Referencia en una nova incidència