Gráfico de commits

383 commits

Autor SHA1 Mensaje Fecha
Lorenz Diener
d7f5b4d66d Implement the rest of the scheduled status endpoints 2019-04-28 19:34:52 +02:00
Lorenz Diener
fe4e01f90e Fixed some timezone problems 2019-04-28 19:18:23 +02:00
Lorenz Diener
d4e3feaece Fix up tests 2019-04-28 18:41:12 +02:00
Lorenz Diener
09f9023c70 Add basic support for scheduled statuses 2019-04-28 18:37:15 +02:00
Lorenz Diener
b6692f0b16 Add account creation 2019-04-28 17:56:20 +02:00
Lorenz Diener
a29d278bf9 Add support for conversation streaming 2019-04-28 14:28:05 +02:00
Lorenz Diener
65e2596d9b Add versioning and return val docs to conversation_read 2019-04-28 14:02:34 +02:00
Lorenz Diener
ac7196c443 Add conversation read marking + tests/docs 2019-04-28 13:58:18 +02:00
Lorenz Diener
06df1c281e Add conversation fetching 2019-04-28 13:47:43 +02:00
Lorenz Diener
8e0d8a5c4e Bump version on status_reply and toot 2019-04-28 02:08:26 +02:00
Lorenz Diener
6f807daf5a Breaking change: Stream functions now return immediately (Fixes #149) 2019-04-28 01:52:09 +02:00
Lorenz Diener
0ffb869e65 Improve OAuth support and docs 2019-04-28 01:02:08 +02:00
Lorenz Diener
67824478af implement app_verify_credentials, document entity change 2019-04-28 00:07:04 +02:00
Lorenz Diener
798f243af2 Fix version number for instance dict 2019-04-27 23:41:06 +02:00
Lorenz Diener
efcd01a3ed Update instance dict docs and version 2019-04-27 23:39:17 +02:00
Lorenz Diener
5340087325 Add min_id parameter to a lot of functions 2019-04-27 23:20:45 +02:00
Lorenz Diener
dc6c80bad7 Implement, document and test pagination changes 2019-04-27 23:11:37 +02:00
Lorenz Diener
72e3290d8c Add endorsements (with docs and tests) 2019-04-27 22:13:27 +02:00
Lorenz Diener
4deeb7875b Document 2.5.0 entity updates 2019-04-27 21:45:57 +02:00
Lorenz Diener
e393664974 Test fixups and small 2.8 fixes
Pagination backwards is broken presently.
2019-04-27 21:04:06 +02:00
Lorenz Diener
c1418e9f3f Removed trends endpoint 2019-04-27 19:10:33 +02:00
Lorenz Diener
fb7496c68d Documented some things related to non-authed access 2019-04-27 18:59:54 +02:00
Lorenz Diener
edd55ec6fd Allow object creation with no credentials whatsoever 2019-04-27 18:46:33 +02:00
Lorenz Diener
f809e0029c Stream decoder now iterates more, fixes #155 2019-04-27 18:35:47 +02:00
Lorenz Diener
87b5b6535c
Merge pull request #157 from jfmcbrayer/status_post_content_type
Add 'content_type' parameter to status_post() for use with Pleroma
2019-04-27 17:24:24 +02:00
Lorenz Diener
351d302531
Merge pull request #158 from lefherz/master
New exception class if server is malconfigured, e.g. 502
2019-04-27 17:23:46 +02:00
Lorenz Diener
a264154073
Merge pull request #164 from codl/link-flakeid
more robust handling of pagination Link headers
2019-04-27 17:20:20 +02:00
codl
eca31ea732
improve link header parameter extraction regex 2019-04-15 14:26:43 +02:00
codl
62a47f4e92
oops. str.is_digit() -> str.isdigit() 2019-04-15 14:19:45 +02:00
codl
ad96297a06
more robust handling of pagination Link headers
during a cursory investigation for #163 I found that the code handling
Link headers would not handle non-numeric post IDs like pleroma's
flakeIDs correctly

IDs starting with a number would be truncated to the first non-digit,
and IDs not starting with a number would throw. Thankfully, all flakeIDs
generated so far start with 9. Maybe 8 for the earliest ones, I'm not
sure. Either way, so far it would only have misbehaved when using the
pagination functions or accessing the _pagination_prev and
_pagination_next attributes directly
2019-04-15 03:31:09 +02:00
codl
0666bdabf1
better handling of non-standard error responses, such as from pleroma 2019-03-11 14:51:11 +01:00
lefherz
280973661d New exception class if server is malconfigured, e.g. 502 2019-02-03 01:58:59 +01:00
Jason McBrayer
da9bdb4dbb Add 'content_type' parameter to status_post() for use with Pleroma
This parameter lets you specify the source content type of your post for Pleroma servers, and
accepts 'text/plain', 'text/markdown', and 'text/html'. It defaults to None, but if set on
a request to a Mastodon server, it will be safely ignored.
2019-01-24 10:06:33 -05:00
Lorenz Diener
8b86269787
Merge pull request #151 from jrabbit/seven_proxies
Made Session support more robust and added support to .create_app()
2018-11-26 11:47:21 +01:00
Lorenz Diener
9c5c5b85cc Make filter application regex use raw strings 2018-11-26 11:44:13 +01:00
Lorenz Diener
d1717be251 Fix media is-file check 2018-11-26 11:42:19 +01:00
Lorenz Diener
ae9640e95d
Merge pull request #150 from jfmcbrayer/mime-magic
Use python-magic to determine mime types from contents
2018-11-26 11:24:35 +01:00
Jack Laxson
975145ada6 Made Session support more robust and added support to .create_app() 2018-11-18 04:55:04 -05:00
Jason McBrayer
4b7bbe72cd Use magic for guessing mime type if available
Replace uses of mimetypes.guess_type with guess_type wrapper that uses
magic if available, and falls back to mimetypes if not.
2018-11-12 10:04:15 -05:00
Jason McBrayer
7e2259e3ee Add requirement for python-magic, and add wrappers to Mastodon.py 2018-11-12 09:44:57 -05:00
errbufferoverfl
aabbfa86bf Adds statement to open file if MIME type is set and file exists 2018-09-14 17:16:12 +10:00
Lorenz Diener
2d81e9b2cb Add filter tests 2018-07-30 23:08:30 +02:00
Lorenz Diener
d04b3da7d5 Add filter applies function 2018-07-30 22:09:14 +02:00
Lorenz Diener
ba3c2a8605 Add follow suggestions test 2018-07-30 21:14:40 +02:00
Lorenz Diener
5148658d9a Add test for status_reply 2018-07-30 21:00:20 +02:00
Lorenz Diener
2af3fd82f4 Improve documentation for status_reply 2018-07-30 20:45:26 +02:00
Lorenz Diener
053d8f3b4f Add "untag" parameter to status_reply 2018-07-30 20:44:25 +02:00
Lorenz Diener
087fb249da Fix tests 2018-07-30 20:25:25 +02:00
Lorenz Diener
58c508a11c Bump supported version 2018-07-30 17:30:46 +02:00
Lorenz Diener
de0d5df861 Add keyword filters 2018-07-30 17:29:37 +02:00
Lorenz Diener
cf2d0ebc82 Add follow suggestions 2018-07-30 16:20:56 +02:00
Lorenz Diener
b5f722cd3d Add trendint API 2018-07-30 15:44:09 +02:00
Lorenz Diener
5576c190ad Search v2 2018-07-30 15:38:51 +02:00
Lorenz Diener
3f91aaf1ea Fix version typo 2018-07-30 15:36:31 +02:00
Lorenz Diener
f864bea4e5 Document hashtag history dicts 2018-07-30 15:35:36 +02:00
Lorenz Diener
d3594572bb Add direct language specification 2018-07-30 15:22:11 +02:00
Lorenz Diener
da859de457 Muting / Hide Reblogs changes 2018-07-30 15:16:46 +02:00
Lorenz Diener
1a6293db44 Update documentation for search() 2018-07-30 14:49:25 +02:00
Lorenz Diener
d1a3277a8b Add status_reply, closes #140 2018-07-30 14:37:20 +02:00
Lorenz Diener
4f3deac968 2.4.3 support: Scopes 2018-07-30 13:35:29 +02:00
Lorenz Diener
82cc87b49b Fix #138 2018-07-14 01:02:37 +02:00
D Anzorge
4319283bcd log_in(): check if granted scopes are a superset of requested
Currently, Pleroma does not actually have scopes, but grants "read write
follow" in all cases. For compatibility, log_in() now checks if the
granted scopes include all of the requested scopes, instead of checking
if they match exactly.
2018-06-26 14:48:59 +02:00
Lorenz Diener
01e52ccd8f Add push tests 2018-06-05 22:52:18 +02:00
Lorenz Diener
18c6b3b90f New casettes, small fixes 2018-06-05 22:10:31 +02:00
Lorenz Diener
b08c05e6de Fix specifying only access token 2018-06-05 17:57:22 +02:00
Lorenz Diener
256037f272 Small test fix 2018-06-05 17:47:26 +02:00
Lorenz Diener
fd21e573e3 Merge branch 'master' of https://github.com/halcy/Mastodon.py 2018-06-05 17:37:44 +02:00
Lorenz Diener
57520beea7 Improve on_abort handler 2018-06-05 17:37:11 +02:00
Lorenz Diener
caba9c5467 Add notif dict docs 2018-06-05 17:19:15 +02:00
Lorenz Diener
0ded906338
Fix doc typo 2018-06-05 14:43:47 +02:00
Lorenz Diener
4b747886b9 Improve docs 2018-06-05 14:30:47 +02:00
Lorenz Diener
392dd3d61d Add webpush support 2018-06-05 14:10:53 +02:00
Lorenz Diener
85ca599935 Add fields support, tests 2018-06-05 01:54:12 +02:00
Lorenz Diener
0882c91cfc Clarify streaming docs 2018-06-04 20:05:11 +02:00
Lorenz Diener
2b08e2ec83 Fix py2 compat 2018-06-04 19:56:46 +02:00
Lorenz Diener
b663394c6d Streaming error handler 2018-06-04 17:58:11 +02:00
Lorenz Diener
163fd5d3d5 Move pagination info to attributes 2018-06-04 16:48:20 +02:00
Lorenz Diener
093c207292 Add idempotency keys, documentation improvements 2018-06-04 15:40:26 +02:00
Lorenz Diener
620687a079 Add pinning/unpinning, media_update 2018-06-04 14:54:26 +02:00
Théo Le Calvar
1090d7476f Fix optional args in account_update_credentials
avatar and header are now correctly ignored if not specified.
2018-05-20 12:55:25 +02:00
Théo Le Calvar
1800a9b2c1 Fix typo in account_update_credentials
Mime type of avatar was used to guess extension of header.
2018-05-20 12:53:19 +02:00
Joel Gil Leon
8052b04446 update constructor to support access_token only 2018-05-19 16:04:15 +03:00
Lorenz Diener
8d5fe70c7e Fix some bugs, update tests 2018-05-07 00:53:13 +02:00
Lorenz Diener
c0a0c8f517 Add focal points 2018-05-06 18:00:07 +02:00
Lorenz Diener
d633df28f7 Add only_media parameter to timelines 2018-05-06 17:46:23 +02:00
Lorenz Diener
ca0ea36c6e
Merge branch 'master' into stream-timeout 2018-05-06 15:55:32 +02:00
Lorenz Diener
ba2fccc1cf Add lists tests and fix a bug 2018-05-06 15:42:38 +02:00
Lorenz Diener
4088e16dec Fix daemonization in python 2 2018-05-06 01:45:02 +02:00
Lorenz Diener
ad6b8eeb04 Switch to using requests Session objects 2018-05-06 01:36:48 +02:00
codl
06e32c14bc
raise MastodonReadTimeout when a stream times out 2018-04-19 17:10:42 +02:00
Lorenz Diener
a825905b57 Fix several bugs 2018-04-18 21:56:36 +02:00
Lorenz Diener
a1ecd2d664 Raise last changed version on instance() 2018-04-17 18:02:55 +02:00
Lorenz Diener
5f44998dd2 First steps to 2.3.0 support 2018-04-17 17:49:08 +02:00
Lorenz Diener
78d3b3a5df Fix for the fix 2018-04-17 17:24:46 +02:00
Lorenz Diener
087c49b199 Small fix to account_search 2018-04-17 17:21:16 +02:00
Lorenz Diener
2afc50c803
Merge branch 'master' into stream-timeout 2018-04-17 16:06:00 +02:00
Lorenz Diener
864c83fa2f Rename async to run_async, fixes #120 2018-04-17 15:38:21 +02:00
Lorenz Diener
d5efea7238 Make imports better (fixes #129) 2018-04-17 15:27:41 +02:00
Lorenz Diener
eb336a30c2 Add is_receiving: 2018-04-17 14:59:45 +02:00
Lorenz Diener
6d4490295a Nicen up reconnect waiting 2018-04-17 14:55:31 +02:00
Lorenz Diener
d0ae9dcd05 Add async autoreconnect 2018-04-17 14:35:09 +02:00
codl
06a7a875fe
add timeouts to streams (GH-127) 2018-04-08 23:07:08 +02:00
Lorenz Diener
86ec5d7eca Re-raise Chunked Encoding Errors as Network Errors 2018-02-20 14:04:17 +01:00
Robert Mock
365ebf3ad9
Fix 500 from status_post capitalized visibilities
The validator for the 'visibility' parameter lower()s it before verifying, but this means that "direct", "Direct", and "dIRECT" all pass validation. However, passing in 'Direct' (at least, to my instance) throws `mastodon.Mastodon.MastodonAPIError: ('Mastodon API returned error', 500, 'Internal Server Error', None)`. This corrects the parameter in-place.
2018-02-11 15:30:58 -08:00
Noëlle Anthony
dd587bb403
Update Mastodon.py
Modified docstring slightly; added type checking for media_ids in the status_post() method. If media_ids is not a list or tuple, put it into a list before parsing it.
2018-02-02 13:46:47 -05:00
Noëlle Anthony
83daab6e31
Update Mastodon.py documentation for status_post()
Updated the docstring for the status_post method to more clearly indicate that the *media_id* argument must be a list even when passing in media dicts returned by *media_post*. (This inclarity cost me quite a bit of debugging this evening.)
2018-02-01 18:57:59 -05:00
Lorenz Diener
c1a6772247 Bump supported version in docs, code to 2.2.0 2018-01-29 14:26:05 +01:00
Lorenz Diener
be014bb88a Fix typo that made test break 2018-01-29 14:18:23 +01:00
Lorenz Diener
569a13ee80 Add 2.1.2 functions 2018-01-29 14:14:58 +01:00
Lorenz Diener
838b851331 Fix get_supported_version() 2018-01-29 13:39:47 +01:00
Lorenz Diener
216a4447b4 Fixed event not being cleared after dispatch 2018-01-29 12:28:44 +01:00
Lorenz Diener
791439d96b Remove state from handle_stream, fixes #119 2018-01-29 12:24:53 +01:00
codl
e97dec7306
subclass api errors 2018-01-03 11:34:45 +01:00
Lorenz Diener
18543648a6 Adjust streaming tests 2017-12-21 11:06:13 +01:00
Lorenz Diener
08a0e5ff67 Daemonize streams 2017-12-19 15:06:44 +01:00
Lorenz Diener
9f9a7826d7 Fix streaming API to be more stable (closes #117) 2017-12-19 13:49:00 +01:00
Lorenz Diener
e5c50ea80d Fix missing async in hashtag/list streams 2017-12-19 11:04:53 +01:00
Lorenz Diener
f55ff45393 Prepare release, part 2 2017-12-15 20:26:25 +01:00
Lorenz Diener
e97bb44c86 Update changelog (preliminary) 2017-12-14 15:09:54 +01:00
Lorenz Diener
301d719b83 Fix some problems with attribute access 2017-12-14 13:54:31 +01:00
Lorenz Diener
20c1d95b45 Fix version check 2017-12-14 13:32:52 +01:00
Lorenz Diener
5a94c46bb4 Change default version check behaviour 2017-12-14 13:29:42 +01:00
Lorenz Diener
af81088fb0 Make attribute-style access better 2017-12-14 13:16:28 +01:00
Lorenz Diener
12f8a68996 Add dict attribute access 2017-12-14 12:52:33 +01:00
Lorenz Diener
16564c42b8 Fix account_statuses breakage 2017-12-14 11:17:18 +01:00
Lorenz Diener
58dfdfaec5 Add supported version in a place where python can read it 2017-12-14 00:37:19 +01:00
Lorenz Diener
94fb509bac Merge branch 'master' of https://github.com/halcy/Mastodon.py 2017-12-14 00:27:45 +01:00
Lorenz Diener
e9d7a3e24a Add last-changed versioning 2017-12-14 00:27:34 +01:00
Lorenz Diener
b03b35a32a
Delete .Mastodon.py.kate-swp 2017-12-13 22:51:02 +01:00
Lorenz Diener
afaab2b874 Document list endpoints 2017-12-13 22:33:29 +01:00
Lorenz Diener
0b5c0ae5cc Add remaining list endpoints 2017-12-13 22:16:10 +01:00
Lorenz Diener
b840766ed7 Add more list endpoints 2017-12-13 21:16:02 +01:00
Lorenz Diener
7cf813b974 Added account_lists(broken) 2017-12-13 18:59:32 +01:00
Lorenz Diener
c9cc873714 Add information about unauthenticated methods 2017-12-13 18:45:28 +01:00
Lorenz Diener
7d2f244126 Add internal links in docs 2017-12-13 18:40:17 +01:00
Lorenz Diener
d7d8f153a3 Update docs for search function 2017-12-13 17:55:14 +01:00
Lorenz Diener
48d54effc8 Add lists endpoint 2017-12-13 17:47:50 +01:00
Lorenz Diener
7ed769b37a Add list streaming 2017-12-13 17:26:44 +01:00
Lorenz Diener
75aebac744 Add custom_emojis 2017-12-13 17:17:42 +01:00
Lorenz Diener
c06baa13b3 Update verify_credentials docs 2017-12-13 17:11:45 +01:00
Lorenz Diener
ce5b0ca576 Update docs, fixes #106 2017-12-11 15:30:24 +01:00
Lorenz Diener
fad615b8d6 Fix versioning functionality more, explicit version check 2017-12-11 14:34:51 +01:00
Lorenz Diener
a93f051b5e Fix instance() 2017-12-11 14:22:35 +01:00
Lorenz Diener
0b701ca6ac Make the version check be not wrong 2017-12-11 14:18:54 +01:00
Lorenz Diener
3bf2299e7e Make decorated functions actually return things 2017-12-11 14:02:57 +01:00
Lorenz Diener
9acfb0d3d8 Versioning fixes 2017-12-11 14:00:14 +01:00
Lorenz Diener
d87ff6d490 Version all endpoints where such a thing makes sense 2017-12-11 12:33:30 +01:00
Lorenz Diener
3ba917d363 Add versionind decorator 2017-12-11 11:49:14 +01:00
codl
050077e97a
fix #111 2017-11-29 22:16:53 +01:00
Lorenz Diener
a7e2caa369 Check hashtags in streaming API 2017-11-29 18:04:54 +01:00