raise MastodonReadTimeout when a stream times out

This commit is contained in:
codl 2018-04-19 17:10:42 +02:00
pare 2afc50c803
commit 06e32c14bc
No se encontró ninguna clave conocida en la base de datos para esta firma
ID de clave GPG: 6CD7C8891ED1233A
S'han modificat 2 arxius amb 12 adicions i 3 eliminacions

Veure arxiu

@ -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"""

Veure arxiu

@ -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()