update constructor to support access_token only

This commit is contained in:
Joel Gil Leon 2018-05-19 16:04:15 +03:00
pare 5c95ca291e
commit 8052b04446

Veure arxiu

@ -174,7 +174,7 @@ class Mastodon:
### ###
# Authentication, including constructor # Authentication, including constructor
### ###
def __init__(self, client_id, client_secret=None, access_token=None, def __init__(self, client_id=None, client_secret=None, access_token=None,
api_base_url=__DEFAULT_BASE_URL, debug_requests=False, api_base_url=__DEFAULT_BASE_URL, debug_requests=False,
ratelimit_method="wait", ratelimit_pacefactor=1.1, ratelimit_method="wait", ratelimit_pacefactor=1.1,
request_timeout=__DEFAULT_TIMEOUT, mastodon_version=None, request_timeout=__DEFAULT_TIMEOUT, mastodon_version=None,
@ -248,17 +248,20 @@ class Mastodon:
raise MastodonIllegalArgumentError("Invalid ratelimit method.") raise MastodonIllegalArgumentError("Invalid ratelimit method.")
# Token loading # Token loading
if os.path.isfile(self.client_id): if self.client_id is None and self.access_token is None:
with open(self.client_id, 'r') as secret_file: raise MastodonIllegalArgumentError('No credentials were given.')
self.client_id = secret_file.readline().rstrip() if self.client_id is not None:
self.client_secret = secret_file.readline().rstrip() if os.path.isfile(self.client_id):
else: with open(self.client_id, 'r') as secret_file:
if self.client_secret is None: self.client_id = secret_file.readline().rstrip()
raise MastodonIllegalArgumentError('Specified client id directly, but did not supply secret') self.client_secret = secret_file.readline().rstrip()
else:
if self.client_secret is None:
raise MastodonIllegalArgumentError('Specified client id directly, but did not supply secret')
if self.access_token is not None and os.path.isfile(self.access_token): if self.access_token is not None and os.path.isfile(self.access_token):
with open(self.access_token, 'r') as token_file: with open(self.access_token, 'r') as token_file:
self.access_token = token_file.readline().rstrip() self.access_token = token_file.readline().rstrip()
def retrieve_mastodon_version(self): def retrieve_mastodon_version(self):
""" """