From 2f0207f7dfdd6b2fc6fe76e466073b4ae09241d3 Mon Sep 17 00:00:00 2001 From: Darren Burns Date: Thu, 7 Apr 2022 09:46:14 +0100 Subject: [PATCH] Use Python 3.7 compatible pickle protocol --- src/textual/devtools_client.py | 2 +- tests/test_devtools.py | 4 ++-- tests/test_devtools_client.py | 15 +++++++-------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/textual/devtools_client.py b/src/textual/devtools_client.py index 2deeea509..4faaaa90d 100644 --- a/src/textual/devtools_client.py +++ b/src/textual/devtools_client.py @@ -153,6 +153,6 @@ class DevtoolsClient: def _encode_segments(self, segments: list[Segment]) -> str: """Pickle and Base64 encode the list of Segments""" - pickled = pickle.dumps(segments) + pickled = pickle.dumps(segments, protocol=3) encoded = base64.b64encode(pickled) return str(encoded, encoding="utf-8") diff --git a/tests/test_devtools.py b/tests/test_devtools.py index 9ecbec55a..58dcb4327 100644 --- a/tests/test_devtools.py +++ b/tests/test_devtools.py @@ -51,8 +51,8 @@ def test_log_message_render(console): # Since we can't guarantee the timezone the tests will run in... local_time = ( datetime.fromtimestamp(TIMESTAMP) - .replace(tzinfo=timezone.utc) - .astimezone(tz=tz.tzlocal()) + .replace(tzinfo=timezone.utc) + .astimezone(tz=tz.tzlocal()) ) timezone_name = local_time.tzname() string_timestamp = local_time.time() diff --git a/tests/test_devtools_client.py b/tests/test_devtools_client.py index 10871c53c..dd274965f 100644 --- a/tests/test_devtools_client.py +++ b/tests/test_devtools_client.py @@ -31,14 +31,13 @@ async def test_devtools_log_places_encodes_and_queues_message(devtools): queued_log = await devtools.log_queue.get() queued_log_json = json.loads(queued_log) assert queued_log_json == { - "payload": { - "encoded_segments": "gASVQgAAAAAAAABdlCiMDHJpY2guc2VnbWVudJSMB1NlZ" - "21lbnSUk5SMDUhlbGxvLCB3b3JsZCGUTk6HlIGUaAOMAQqUTk6HlIGUZS4=", - "line_number": 0, - "path": "", - "timestamp": TIMESTAMP, - }, "type": "client_log", + "payload": { + "timestamp": TIMESTAMP, + "path": "", + "line_number": 0, + "encoded_segments": "gANdcQAoY3JpY2guc2VnbWVudApTZWdtZW50CnEBWA0AAABIZWxsbywgd29ybGQhcQJOTodxA4FxBGgBWAEAAAAKcQVOTodxBoFxB2Uu", + }, } @@ -54,7 +53,7 @@ async def test_devtools_log_places_encodes_and_queues_many_logs_as_string(devtoo "timestamp": TIMESTAMP, "path": "", "line_number": 0, - "encoded_segments": "gASVQAAAAAAAAABdlCiMDHJpY2guc2VnbWVudJSMB1NlZ21lbnSUk5SMC2hlbGxvIHdvcmxklE5Oh5SBlGgDjAEKlE5Oh5SBlGUu", + "encoded_segments": "gANdcQAoY3JpY2guc2VnbWVudApTZWdtZW50CnEBWAsAAABoZWxsbyB3b3JsZHECTk6HcQOBcQRoAVgBAAAACnEFTk6HcQaBcQdlLg==", }, }