raise MastodonReadTimeout when a stream times out

pull/128/head
codl 2018-04-19 17:10:42 +02:00
rodzic 2afc50c803
commit 06e32c14bc
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6CD7C8891ED1233A
2 zmienionych plików z 12 dodań i 3 usunięć

Wyświetl plik

@ -1872,6 +1872,10 @@ class MastodonNetworkError(MastodonIOError):
"""Raised when network communication with the server fails"""
pass
class MastodonReadTimeout(MastodonNetworkError):
"""Raised when a stream times out"""
pass
class MastodonAPIError(MastodonError):
"""Raised when the mastodon API generates a response that cannot be handled"""

Wyświetl plik

@ -6,8 +6,8 @@ https://github.com/tootsuite/mastodon/blob/master/docs/Using-the-API/Streaming-A
import json
import six
from mastodon import Mastodon
from mastodon.Mastodon import MastodonMalformedEventError, MastodonNetworkError
from requests.exceptions import ChunkedEncodingError
from mastodon.Mastodon import MastodonMalformedEventError, MastodonNetworkError, MastodonReadTimeout
from requests.exceptions import ChunkedEncodingError, ReadTimeout
class StreamListener(object):
"""Callbacks for the streaming API. Create a subclass, override the on_xxx
@ -68,7 +68,12 @@ class StreamListener(object):
MastodonNetworkError("Server ceased communication."),
err
)
except MastodonReadTimeout as err:
six.raise_from(
MastodonReadTimeout("Timed out while reading from server."),
err
)
def _parse_line(self, line, event):
if line.startswith(':'):
self.handle_heartbeat()