Merge pull request #360 from a-detiste/master

remove six dependecy
master
Lorenz Diener 2024-02-11 13:25:17 +02:00 zatwierdzone przez GitHub
commit b45a27a406
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
3 zmienionych plików z 12 dodań i 33 usunięć

Wyświetl plik

@ -4,7 +4,6 @@ https://github.com/mastodon/documentation/blob/master/content/en/methods/timelin
"""
import json
import six
try:
from inspect import signature
except:
@ -131,10 +130,7 @@ class StreamListener(object):
exception = MastodonMalformedEventError(
"Malformed UTF-8")
self.on_abort(exception)
six.raise_from(
exception,
err
)
raise exception from err
if line == '':
self._dispatch(event)
event = {}
@ -146,26 +142,17 @@ class StreamListener(object):
except ChunkedEncodingError as err:
exception = MastodonNetworkError("Server ceased communication.")
self.on_abort(exception)
six.raise_from(
exception,
err
)
raise exception from err
except ReadTimeout as err:
exception = MastodonReadTimeout(
"Timed out while reading from server."),
self.on_abort(exception)
six.raise_from(
exception,
err
)
raise exception from err
except ConnectionError as err:
exception = MastodonNetworkError(
"Requests reports connection error."),
self.on_abort(exception)
six.raise_from(
exception,
err
)
raise exception from err
def _parse_line(self, line, event):
if line.startswith(':'):
@ -200,19 +187,13 @@ class StreamListener(object):
exception = MastodonMalformedEventError(
'Missing field', err.args[0], event)
self.on_abort(exception)
six.raise_from(
exception,
err
)
raise exception from err
except ValueError as err:
# py2: plain ValueError
# py3: json.JSONDecodeError, a subclass of ValueError
exception = MastodonMalformedEventError('Bad JSON', data)
self.on_abort(exception)
six.raise_from(
exception,
err
)
raise exception from err
# New mastodon API also supports event names with dots,
# specifically, status_update.
@ -287,10 +268,7 @@ class CallbackStreamListener(StreamListener):
if self.local_update_handler is not None and not "@" in status["account"]["acct"]:
self.local_update_handler(status)
except Exception as err:
six.raise_from(
MastodonMalformedEventError('received bad update', status),
err
)
raise MastodonMalformedEventError('received bad update', status) from err
def on_delete(self, deleted_id):
if self.delete_handler is not None:

Wyświetl plik

@ -23,7 +23,6 @@ classifiers = [
dependencies = [
'requests>=2.4.2',
'python-dateutil',
'six',
'python-magic-bin ; platform_system=="Windows"',
'python-magic ; platform_system!="Windows"',
'decorator>=4.0.0',

Wyświetl plik

@ -1,4 +1,3 @@
import six
import pytest
import itertools
from mastodon.streaming import StreamListener, CallbackStreamListener
@ -95,10 +94,13 @@ class Listener(StreamListener):
def handle_stream_(self, lines):
"""Test helper to avoid littering all tests with six.b()."""
def six_b(s):
return s.encode("latin-1")
class MockResponse():
def __init__(self, data):
self.data = data
def iter_content(self, chunk_size):
for line in self.data:
for byte in line:
@ -106,7 +108,7 @@ class Listener(StreamListener):
bytearr.append(byte)
yield(bytearr)
yield(b'\n')
return self.handle_stream(MockResponse(map(six.b, lines)))
return self.handle_stream(MockResponse(map(six_b, lines)))
def test_heartbeat():