diff options
Diffstat (limited to 'mastodon/streaming.py')
-rw-r--r-- | mastodon/streaming.py | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/mastodon/streaming.py b/mastodon/streaming.py index c202ff6..cac2456 100644 --- a/mastodon/streaming.py +++ b/mastodon/streaming.py | |||
@@ -4,16 +4,9 @@ https://github.com/tootsuite/mastodon/blob/master/docs/Using-the-API/Streaming-A | |||
4 | """ | 4 | """ |
5 | 5 | ||
6 | import json | 6 | import json |
7 | import logging | ||
8 | import six | 7 | import six |
9 | from mastodon import Mastodon | 8 | from mastodon import Mastodon |
10 | 9 | from mastodon.Mastodon import MastodonMalformedEventError | |
11 | log = logging.getLogger(__name__) | ||
12 | |||
13 | class MalformedEventError(Exception): | ||
14 | """Raised when the server-sent event stream is malformed.""" | ||
15 | pass | ||
16 | |||
17 | 10 | ||
18 | class StreamListener(object): | 11 | class StreamListener(object): |
19 | """Callbacks for the streaming API. Create a subclass, override the on_xxx | 12 | """Callbacks for the streaming API. Create a subclass, override the on_xxx |
@@ -55,7 +48,7 @@ class StreamListener(object): | |||
55 | line = raw_line.decode('utf-8') | 48 | line = raw_line.decode('utf-8') |
56 | except UnicodeDecodeError as err: | 49 | except UnicodeDecodeError as err: |
57 | six.raise_from( | 50 | six.raise_from( |
58 | MalformedEventError("Malformed UTF-8", line), | 51 | MastodonMalformedEventError("Malformed UTF-8", line), |
59 | err | 52 | err |
60 | ) | 53 | ) |
61 | 54 | ||
@@ -85,14 +78,14 @@ class StreamListener(object): | |||
85 | payload = json.loads(data, object_hook = Mastodon._Mastodon__json_hooks) | 78 | payload = json.loads(data, object_hook = Mastodon._Mastodon__json_hooks) |
86 | except KeyError as err: | 79 | except KeyError as err: |
87 | six.raise_from( | 80 | six.raise_from( |
88 | MalformedEventError('Missing field', err.args[0], event), | 81 | MastodonMalformedEventError('Missing field', err.args[0], event), |
89 | err | 82 | err |
90 | ) | 83 | ) |
91 | except ValueError as err: | 84 | except ValueError as err: |
92 | # py2: plain ValueError | 85 | # py2: plain ValueError |
93 | # py3: json.JSONDecodeError, a subclass of ValueError | 86 | # py3: json.JSONDecodeError, a subclass of ValueError |
94 | six.raise_from( | 87 | six.raise_from( |
95 | MalformedEventError('Bad JSON', data), | 88 | MastodonMalformedEventError('Bad JSON', data), |
96 | err | 89 | err |
97 | ) | 90 | ) |
98 | 91 | ||