Elizabeth Myers
6067aa4604
Workaround Mastodon issue with streaming API redirection
...
Mastodon can be configured to use another address for streaming
server-side. Such a setup is common with certain deployments.
However, due to a bug, Mastodon does not properly issue HTTP redirects
for anything but the endpoint /api/v1/streaming (including subdirs). It
instead gives a 404, causing the request to fail.
The workaround is to hit this path first, checking for any redirects,
and modifying the URL accordingly.
This commit also includes a workaround for behaviour in requests that
causes it to strip the Authorization header from redirected requests.
This is intentional behaviour on the part of requests, but breaks the
redirection done by Mastodon.
Fixes #84
2017-09-16 10:05:44 -05:00
codl
92dd24450d
fix exception in log_in, by accepting json dates as timestamps
...
when requesting a bearer token, mastodon (more specifically doorkeeper)
returns an object with a created_at attribute which is a plain timestamp
unlike in most of mastodon's api:
{
"access_token": "hunter2",
"token_type": "bearer",
"scope": "read write",
"created_at": 1504824250,
}
2017-09-10 12:23:54 +02:00
Lorenz Diener
7ded08fd84
Fix for fix
2017-09-08 16:41:39 +02:00
Lorenz Diener
419bedc55a
Potential fix for #81
2017-09-08 16:40:43 +02:00
Lorenz Diener
517f47083d
Add conversation muting
2017-09-08 16:34:11 +02:00
Lorenz Diener
982fde2b56
Add date parsing
2017-09-08 16:27:16 +02:00
Lorenz Diener
df26310d1b
Add notification dismissal
2017-09-08 15:25:49 +02:00
Lorenz Diener
81e2b4b4ab
Change default ratelimit back to 300
2017-09-08 15:06:31 +02:00
Lorenz Diener
7de02fe5b8
Merge branch 'master' into async_streaming
2017-09-08 15:02:58 +02:00
Lorenz Diener
0edc424b11
Clarify visibility documentation
2017-09-08 14:51:07 +02:00
Lorenz Diener
c628ff4f05
Small documentation fix for toot()
2017-09-08 14:49:57 +02:00
Lorenz Diener
74cb10eeff
Merge branch 'master' into master
2017-09-08 13:44:30 +02:00
lambadalambda
71d1038b32
Send params as part of the query in GET requests
...
Using the data argument will send them form-encoded like for the other requests, which isn't parsed by many servers for GET requests.
2017-09-08 07:45:23 +02:00
FoxMaSk
6ef2724f66
not pep8 compliant #71
2017-09-05 23:07:24 +02:00
FoxMaSk
e0e68ccd6a
not pep8 compliant #71
2017-09-05 22:59:32 +02:00
Lorenz Diener
c8490be2a7
Streams are requested via GET ( Fixes #50 )
2017-09-05 16:45:24 +02:00
Lorenz Diener
1c93e350f7
Fix crash on URLs with no 'rel' attribute (Fixes #79 )
2017-09-05 16:39:17 +02:00
Lorenz Diener
87ee1df1c0
Fix #59
2017-09-05 16:36:32 +02:00
Lorenz Diener
613ad895c8
Fix copy-paste errors in fetch_* methods ( fixes #57 )
2017-09-05 16:33:13 +02:00
Lorenz Diener
02d9f5196c
Fix fetch_* methods modifying their parameters
2017-09-05 16:19:27 +02:00
Elizabeth Myers
a76eafbd46
Remove trailing slashes in base URL
...
The streaming API can't handle multiple slashes in the lead of a path
request. This is probably a bug in Mastodon, but should be worked around
here for now.
2017-08-19 05:49:08 -05:00
Chronister
4a5302e03a
Return a one-off handle instead of the Response object
2017-08-13 18:10:04 -07:00
Chronister
a6a1ddbed1
Add async parameter to streaming API calls. If true, calls the streaming API on a separate thread and returns the Response object to the user so they can close it at their discretion.
2017-08-12 22:21:37 -07:00
Lorenz Diener
fccc4e1986
Merge pull request #67 from Chronister/handle_empty_link
...
Handle case of empty 'Link' header from server
2017-08-12 12:44:56 +02:00
Chronister
4efebe2c9f
Handle case of empty 'Link' header from server
2017-08-11 17:40:04 -07:00
Logan Fick
5943038be3
Fixed clearing notifications raising endpoint not found.
2017-07-31 00:29:45 -04:00
Zac
71791ccd1d
fixed incorrect rate limit amount
...
related area in Mastodon code: 056b5ed72f/config/initializers/rack_attack.rb (L12)
2017-07-11 22:53:01 -04:00
Lorenz Diener
d4b37995fe
Pagination
2017-06-16 01:23:19 +02:00
Lorenz Diener
df98fc263e
Auto-add protocol to URLs that do not have one. Fixes #54
2017-06-15 23:34:11 +02:00
Lorenz Diener
5e0cf05330
Typo fix
2017-06-15 23:15:38 +02:00
Lorenz Diener
aa3e678c7b
Domain blocking + documentation
2017-06-15 23:13:34 +02:00
Lorenz Diener
b57b66ebb5
More doc fixes, instance dictionaries
2017-06-15 22:48:23 +02:00
Lorenz Diener
d5bb2418a9
More fixes to documentation
2017-06-15 22:32:17 +02:00
Lorenz Diener
03e19e3655
Small documentation adjustments
2017-06-15 20:48:59 +02:00
Lorenz Diener
5ed78fbe83
Merge pull request #53 from brrzap/expand-params
...
expand parameters in notifications/favourites/blocks/mutes
2017-05-19 10:08:57 +02:00
Lorenz Diener
3031906743
Merge pull request #52 from brrzap/docfix-issue-51
...
fix doc on follow_request_{authorize,reject}
2017-05-19 10:08:40 +02:00
@brrzap
7df35c4807
expand notifications/favourites/blocks/mutes arguments
...
* adds max_id, since_id, limit parameters to existing functions
2017-05-14 01:24:46 -04:00
@brrzap
14589563bb
fix doc on follow_request_{authorize,reject}
2017-05-09 01:43:48 -04:00
fumi-san
c57ad7f6b9
Add local_stream method for getting local streaming timeline.
...
There was no way to get local streaming timeline.
Add 'local_stream' method whose behavior is like 'public_stream' method.
2017-05-05 17:23:12 +09:00
Alex McGivern
91e5388dae
added content-type hint
...
fixed POST parameters for reports
added handling for PATCH requests
added check for missing Date header to prevent errors when testing against Puma
2017-04-27 00:21:32 +01:00
Alex McGivern
973182cda0
account_update_credentials uses PATCH, not POST
2017-04-26 23:13:49 +01:00
Alex McGivern
00998d6d46
Merge branch 'master' of https://github.com/halcy/Mastodon.py
2017-04-26 13:13:17 +01:00
Alex McGivern
911fcc733c
added calls for fetching instance data, status cards, filing reports, and updating the user profile
2017-04-26 13:02:40 +01:00
Lorenz Diener
0ba01f3da9
Cleaned documentation up somewhat
2017-04-26 13:29:34 +02:00
Lorenz Diener
23e796bab4
Fixed follows docs
2017-04-26 13:24:27 +02:00
Lorenz Diener
28553d7a69
Housekeeping
2017-04-26 12:20:44 +02:00
Lorenz Diener
7cfb17d698
Documentation and consistence changes
2017-04-26 12:19:41 +02:00
Lorenz Diener
4a2f6d0fb9
Added some missing API methods
2017-04-26 11:56:47 +02:00
Lorenz Diener
6a2c394c50
Restored python 2 compatibility
2017-04-26 11:43:16 +02:00
Lorenz Diener
67aa919f40
Merge pull request #45 from naoyat/add_account_following_params
...
Added since_id/max_id/limit params to account_following()/account_followers()
2017-04-26 11:16:11 +02:00
naoya_t
a8d5ee75c1
mastodon/Added since_id/max_id/limit params to account_following()/account_folowers()
2017-04-26 11:51:24 +09:00
naoya_t
01b4d113bc
Added remote follow support, resolves issue #40
2017-04-26 11:49:56 +09:00
Lorenz Diener
fde6806120
Documentation fixes to address #21
2017-04-25 11:41:48 +02:00
Lorenz Diener
5aeb953d24
Remove additional traceback print
2017-04-25 11:36:49 +02:00
Eliot Berriot
d8adb28cde
Added direct level for status privacy
2017-04-24 22:02:26 +02:00
Ansem
61f014f322
Add scope param to log_in(), resolves issue #35
2017-04-20 14:32:40 +00:00
Christopher Su
8f0d872119
Remove the mentions timeline because it doesn't exist
2017-04-15 00:53:58 -07:00
Ansem
7c7cf8478d
Add general error message
2017-04-11 10:37:15 +02:00
Ansem
e51e5cc521
Fix auth request, now able to specify needed scope for the client
2017-04-11 10:36:58 +02:00
Lorenz Diener
ccaaea0072
Fixing mistake from earlier merge
2017-04-10 17:14:37 +02:00
Lorenz Diener
965d514de1
Merge branch 'master' into streaming
2017-04-10 10:33:25 +02:00
Lorenz Diener
7db6b4c02e
Merge pull request #26 from phryk/master
...
added content_search, probably.
2017-04-10 10:29:55 +02:00
Lorenz Diener
98f636f581
Merge pull request #27 from azillion/master
...
Add support for OAuth2, resolves issue #6
2017-04-10 10:28:50 +02:00
Will Thompson
ab60931620
Initial implementation of streaming API
...
This is missing any error handling and rate-limiting around the stream
itself, but once the stream is established, the full range of events are
supported.
Fixes issue #14 .
2017-04-10 08:18:08 +01:00
Ed Summers
c45a1af5e1
fix ValueError
...
checking if media_type is defined will short circuit the
the call to os.path.isfile when content is supplied
fixes #28
2017-04-09 17:58:46 -04:00
Ansem
cb6e304043
Fix write access_token to file mistake
2017-04-07 22:06:06 +00:00
Ansem
ebfe65a295
Add support for OAuth2
2017-04-07 21:59:39 +00:00
phryk
7ebc48c50e
added content_search, probably.
2017-04-07 15:12:24 +02:00
Lorenz Diener
0cac499cfe
Sensitive = False results in Not Sensitive. Fixes #20
2017-04-05 13:54:21 +02:00
Will Thompson
2015cde528
Fix typo in Mastodon.__init__ docstring
2017-04-05 10:32:46 +01:00
Lorenz Diener
1fc7c465b3
Merge pull request #15 from erincongden/newfeatures
...
Muting, follow requests, local timeline, and more
2017-04-03 12:05:10 +02:00
Lorenz Diener
d8ac59f4eb
Merge branch 'master' into typo
2017-04-03 12:02:17 +02:00
Erin Congden
ca0b6c115b
Added follow requests support
2017-04-02 21:53:25 -07:00
Erin Congden
38ebcda76b
Added getting a list of favourited toots
2017-04-02 21:52:45 -07:00
Erin Congden
36781699c1
Add (un)muting accounts and reading mutes/blocks
2017-04-02 21:52:41 -07:00
Erin Congden
9eaf955bfc
Added local timeline support
2017-04-02 21:25:11 -07:00
Erin Congden
f734a45fb6
Added spoiler text support
2017-04-02 21:14:07 -07:00
Laurent Peuch
95275bb391
[mod] typo
2017-04-01 15:04:45 +02:00
Laurent Peuch
1d76bc150a
[mod] show real exception for easier debugging
2017-04-01 14:13:46 +02:00
Tyler Britten
be6c248a21
fixed missing change
...
removed self. from request_timeout- missed this commit in the last PR
2017-03-03 11:23:11 -05:00
Tyler Britten
9a1c7a7147
fixed missing request_timeout on app creation
2017-03-03 11:10:04 -05:00
Florian Piesche
963ec9c5f2
Implement PR feedback and cull trailing whitespace
...
Default post privacy to match account privacy setting. Remove sensitive/visibility parameters from simple toot() function.
2017-01-27 13:16:13 +00:00
Florian Piesche
f60ff60e13
Add support for sensitive toots and visibility settings.
2017-01-23 11:11:55 +00:00
Lorenz Diener
19a1b014d4
Added timeout
2016-12-13 17:17:33 +01:00
Lorenz Diener
6f923ad1f9
media_ids can not just be dicts, for extra lazyness
2016-11-26 00:03:19 +01:00
Lorenz Diener
69f78773a0
Requirement and documentation fixes
2016-11-25 23:28:30 +01:00
Lorenz Diener
61775d9083
Rate limiting now works.
2016-11-25 23:14:00 +01:00
Lorenz Diener
ab58894041
Merge remote-tracking branch 'refs/remotes/origin/master' into ratelimits
...
# Conflicts:
# mastodon/Mastodon.py
2016-11-25 20:57:53 +01:00
Lorenz Diener
6fdf18eebc
Documentation for notifications
2016-11-25 20:46:20 +01:00
Lorenz Diener
3585830182
Documentation restructured and made more PEP8-y
2016-11-25 20:33:00 +01:00
Lorenz Diener
e4e3a8eb93
Ratelimit code
2016-11-25 18:17:39 +01:00
Lorenz Diener
2729ca1931
More "timeline" functions, "notifications"
2016-11-25 15:39:53 +01:00
Lorenz Diener
d6bbd27153
Fixed bug in debug code
2016-11-24 20:07:00 +01:00
Lorenz Diener
2267e51efd
Fixed a bug in account_statuses
2016-11-24 20:03:08 +01:00
Lorenz Diener
78120bed1b
Media uploads tentatively working
2016-11-24 12:34:31 +01:00
Lorenz Diener
20f5249c7d
Documented new error handling code
2016-11-24 12:08:32 +01:00
Lorenz Diener
ead7b7fc5e
Fixed login scope check
2016-11-24 12:07:41 +01:00
Lorenz Diener
68899a0cc4
Added some error handling to log_in
2016-11-24 12:03:42 +01:00
Lorenz Diener
3a92948158
__init__.py fixed
2016-11-24 11:51:25 +01:00
Lorenz Diener
04406738f2
Docs are now good
2016-11-24 03:03:52 +01:00
Lorenz Diener
615f88154c
Further readjustment. Docs now actually build, but look bad.
2016-11-24 02:07:08 +01:00