diff options
Diffstat (limited to 'mastodon')
-rw-r--r-- | mastodon/Mastodon.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/mastodon/Mastodon.py b/mastodon/Mastodon.py index beccf92..ffd4497 100644 --- a/mastodon/Mastodon.py +++ b/mastodon/Mastodon.py | |||
@@ -440,7 +440,7 @@ class Mastodon: | |||
440 | return self.timeline('local', max_id=max_id, since_id=since_id, | 440 | return self.timeline('local', max_id=max_id, since_id=since_id, |
441 | limit=limit) | 441 | limit=limit) |
442 | 442 | ||
443 | @api_version("1.0.0", "2.0.0") | 443 | @api_version("1.0.0", "2.3.0") |
444 | def timeline_public(self, max_id=None, since_id=None, limit=None, only_media=False): | 444 | def timeline_public(self, max_id=None, since_id=None, limit=None, only_media=False): |
445 | """ | 445 | """ |
446 | Fetches the public / visible-network timeline, not including replies. | 446 | Fetches the public / visible-network timeline, not including replies. |
@@ -450,7 +450,7 @@ class Mastodon: | |||
450 | return self.timeline('public', max_id=max_id, since_id=since_id, | 450 | return self.timeline('public', max_id=max_id, since_id=since_id, |
451 | limit=limit) | 451 | limit=limit) |
452 | 452 | ||
453 | @api_version("1.0.0", "2.0.0") | 453 | @api_version("1.0.0", "2.3.0") |
454 | def timeline_hashtag(self, hashtag, local=False, max_id=None, since_id=None, limit=None, only_media=False): | 454 | def timeline_hashtag(self, hashtag, local=False, max_id=None, since_id=None, limit=None, only_media=False): |
455 | """ | 455 | """ |
456 | Fetch a timeline of toots with a given hashtag. The hashtag parameter | 456 | Fetch a timeline of toots with a given hashtag. The hashtag parameter |
@@ -691,7 +691,7 @@ class Mastodon: | |||
691 | return self.__api_request('GET', '/api/v1/accounts/relationships', | 691 | return self.__api_request('GET', '/api/v1/accounts/relationships', |
692 | params) | 692 | params) |
693 | 693 | ||
694 | @api_version("1.0.0", "2.1.0") | 694 | @api_version("1.0.0", "2.3.0") |
695 | def account_search(self, q, limit=None, following=False): | 695 | def account_search(self, q, limit=None, following=False): |
696 | """ | 696 | """ |
697 | Fetch matching accounts. Will lookup an account remotely if the search term is | 697 | Fetch matching accounts. Will lookup an account remotely if the search term is |
@@ -1308,13 +1308,16 @@ class Mastodon: | |||
1308 | ### | 1308 | ### |
1309 | # Writing data: Media | 1309 | # Writing data: Media |
1310 | ### | 1310 | ### |
1311 | @api_version("1.0.0", "2.0.0") | 1311 | @api_version("1.0.0", "2.3.0") |
1312 | def media_post(self, media_file, mime_type=None, description=None): | 1312 | def media_post(self, media_file, mime_type=None, description=None, focus=None): |
1313 | """ | 1313 | """ |
1314 | Post an image. `media_file` can either be image data or | 1314 | Post an image. `media_file` can either be image data or |
1315 | a file name. If image data is passed directly, the mime | 1315 | a file name. If image data is passed directly, the mime |
1316 | type has to be specified manually, otherwise, it is | 1316 | type has to be specified manually, otherwise, it is |
1317 | determined from the file name. | 1317 | determined from the file name. `focus` should be a tuple |
1318 | of floats between -1 and 1, giving the x and y coordinates | ||
1319 | of the images focus point for cropping (with the origin being the images | ||
1320 | center). | ||
1318 | 1321 | ||
1319 | Throws a `MastodonIllegalArgumentError` if the mime type of the | 1322 | Throws a `MastodonIllegalArgumentError` if the mime type of the |
1320 | passed data or file can not be determined properly. | 1323 | passed data or file can not be determined properly. |
@@ -1335,10 +1338,13 @@ class Mastodon: | |||
1335 | file_name = "mastodonpyupload_" + str(time.time()) + "_" + str(random_suffix) + mimetypes.guess_extension( | 1338 | file_name = "mastodonpyupload_" + str(time.time()) + "_" + str(random_suffix) + mimetypes.guess_extension( |
1336 | mime_type) | 1339 | mime_type) |
1337 | 1340 | ||
1341 | if focus != None: | ||
1342 | focus = str(focus[0]) + "," + str(focus[1]) | ||
1343 | |||
1338 | media_file_description = (file_name, media_file, mime_type) | 1344 | media_file_description = (file_name, media_file, mime_type) |
1339 | return self.__api_request('POST', '/api/v1/media', | 1345 | return self.__api_request('POST', '/api/v1/media', |
1340 | files={'file': media_file_description}, | 1346 | files={'file': media_file_description}, |
1341 | params={'description': description}) | 1347 | params={'description': description, 'focus': focus}) |
1342 | 1348 | ||
1343 | ### | 1349 | ### |
1344 | # Writing data: Domain blocks | 1350 | # Writing data: Domain blocks |