From b0aedd6c7695c39bdcd944b58460bb573cb14e63 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 12 Nov 2020 18:48:50 +1000 Subject: [PATCH] orjson was missing from dep list; drop 32 bit compat --- pip/requirements.in | 1 + pip/requirements.txt | 1 + pylib/anki/BUILD.bazel | 8 ++++---- pylib/anki/rsbackend.py | 13 ++++--------- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/pip/requirements.in b/pip/requirements.in index 7ca9643b9..9a214e66f 100644 --- a/pip/requirements.in +++ b/pip/requirements.in @@ -10,6 +10,7 @@ markdown mock mypy mypy-protobuf +orjson pip-tools protobuf pylint diff --git a/pip/requirements.txt b/pip/requirements.txt index 67576cec0..72f7a4d01 100755 --- a/pip/requirements.txt +++ b/pip/requirements.txt @@ -28,6 +28,7 @@ mock==4.0.2 # via -r requirements.in mypy-extensions==0.4.3 # via black, mypy mypy-protobuf==1.23 # via -r requirements.in mypy==0.790 # via -r requirements.in +orjson==3.4.3 # via -r requirements.in packaging==20.4 # via pytest pathspec==0.8.0 # via black pip-tools==5.3.1 # via -r requirements.in diff --git a/pylib/anki/BUILD.bazel b/pylib/anki/BUILD.bazel index 77693d71d..7688b523d 100644 --- a/pylib/anki/BUILD.bazel +++ b/pylib/anki/BUILD.bazel @@ -85,11 +85,12 @@ py_library( ], visibility = ["//visibility:public"], deps = [ - requirement("protobuf"), + requirement("beautifulsoup4"), requirement("decorator"), requirement("distro"), + requirement("orjson"), + requirement("protobuf"), requirement("requests"), - requirement("beautifulsoup4"), ], ) @@ -106,7 +107,6 @@ py_wheel( distribution = "anki", platform = select({ "//platforms:windows_x86_64": "win_amd64", - "//platforms:windows_x86_32": "win32", "//platforms:macos_x86_64": "macosx_10_7_x86_64", "//platforms:linux_x86_64": "manylinux2014_x86_64", "//platforms:linux_x86_32": "manylinux2014_i686", @@ -118,7 +118,7 @@ py_wheel( "requests[socks]", "decorator", "protobuf", - 'orjson; platform_machine == "x86_64"', + "orjson", 'psutil; sys_platform == "win32"', 'distro; sys_platform != "darwin" and sys_platform != "win32"', ], diff --git a/pylib/anki/rsbackend.py b/pylib/anki/rsbackend.py index ec78d831e..f6452df90 100644 --- a/pylib/anki/rsbackend.py +++ b/pylib/anki/rsbackend.py @@ -21,6 +21,8 @@ import json import os from dataclasses import dataclass from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Union +import orjson + import anki._rsbridge import anki.backend_pb2 as pb @@ -59,15 +61,8 @@ SyncOutput = pb.SyncCollectionOut SyncStatus = pb.SyncStatusOut CountsForDeckToday = pb.CountsForDeckTodayOut -try: - import orjson - - to_json_bytes = orjson.dumps - from_json_bytes = orjson.loads -except: - # add compat layer for 32 bit builds that can't use orjson - to_json_bytes = lambda obj: json.dumps(obj).encode("utf8") # type: ignore - from_json_bytes = json.loads +to_json_bytes = orjson.dumps +from_json_bytes = orjson.loads class Interrupted(Exception):