aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mastodon')
-rw-r--r--mastodon/Mastodon.py4
-rw-r--r--mastodon/streaming.py11
2 files changed, 12 insertions, 3 deletions
diff --git a/mastodon/Mastodon.py b/mastodon/Mastodon.py
index 5461661..49597ca 100644
--- a/mastodon/Mastodon.py
+++ b/mastodon/Mastodon.py
@@ -1872,6 +1872,10 @@ class MastodonNetworkError(MastodonIOError):
1872 """Raised when network communication with the server fails""" 1872 """Raised when network communication with the server fails"""
1873 pass 1873 pass
1874 1874
1875class MastodonReadTimeout(MastodonNetworkError):
1876 """Raised when a stream times out"""
1877 pass
1878
1875 1879
1876class MastodonAPIError(MastodonError): 1880class MastodonAPIError(MastodonError):
1877 """Raised when the mastodon API generates a response that cannot be handled""" 1881 """Raised when the mastodon API generates a response that cannot be handled"""
diff --git a/mastodon/streaming.py b/mastodon/streaming.py
index 1c73f48..3fbd569 100644
--- a/mastodon/streaming.py
+++ b/mastodon/streaming.py
@@ -6,8 +6,8 @@ https://github.com/tootsuite/mastodon/blob/master/docs/Using-the-API/Streaming-A
6import json 6import json
7import six 7import six
8from mastodon import Mastodon 8from mastodon import Mastodon
9from mastodon.Mastodon import MastodonMalformedEventError, MastodonNetworkError 9from mastodon.Mastodon import MastodonMalformedEventError, MastodonNetworkError, MastodonReadTimeout
10from requests.exceptions import ChunkedEncodingError 10from requests.exceptions import ChunkedEncodingError, ReadTimeout
11 11
12class StreamListener(object): 12class StreamListener(object):
13 """Callbacks for the streaming API. Create a subclass, override the on_xxx 13 """Callbacks for the streaming API. Create a subclass, override the on_xxx
@@ -68,7 +68,12 @@ class StreamListener(object):
68 MastodonNetworkError("Server ceased communication."), 68 MastodonNetworkError("Server ceased communication."),
69 err 69 err
70 ) 70 )
71 71 except MastodonReadTimeout as err:
72 six.raise_from(
73 MastodonReadTimeout("Timed out while reading from server."),
74 err
75 )
76
72 def _parse_line(self, line, event): 77 def _parse_line(self, line, event):
73 if line.startswith(':'): 78 if line.startswith(':'):
74 self.handle_heartbeat() 79 self.handle_heartbeat()
Powered by cgit v1.2.3 (git 2.41.0)