remove builtins.buffer code from storage code

this is no longer needed on python 3
This commit is contained in:
Richard van der Hoff 2020-05-15 19:26:54 +01:00
parent 91f51c611c
commit e6027562e2
4 changed files with 5 additions and 31 deletions

View File

@ -3,8 +3,6 @@ import json
import sys import sys
import time import time
import six
import psycopg2 import psycopg2
import yaml import yaml
from canonicaljson import encode_canonical_json from canonicaljson import encode_canonical_json
@ -12,10 +10,7 @@ from signedjson.key import read_signing_keys
from signedjson.sign import sign_json from signedjson.sign import sign_json
from unpaddedbase64 import encode_base64 from unpaddedbase64 import encode_base64
if six.PY2: db_binary_type = memoryview
db_type = six.moves.builtins.buffer
else:
db_type = memoryview
def select_v1_keys(connection): def select_v1_keys(connection):
@ -72,7 +67,7 @@ def rows_v2(server, json):
valid_until = json["valid_until_ts"] valid_until = json["valid_until_ts"]
key_json = encode_canonical_json(json) key_json = encode_canonical_json(json)
for key_id in json["verify_keys"]: for key_id in json["verify_keys"]:
yield (server, key_id, "-", valid_until, valid_until, db_type(key_json)) yield (server, key_id, "-", valid_until, valid_until, db_binary_type(key_json))
def main(): def main():

View File

@ -19,9 +19,6 @@ import random
from abc import ABCMeta from abc import ABCMeta
from typing import Any, Optional from typing import Any, Optional
from six import PY2
from six.moves import builtins
from canonicaljson import json from canonicaljson import json
from synapse.storage.database import LoggingTransaction # noqa: F401 from synapse.storage.database import LoggingTransaction # noqa: F401
@ -103,11 +100,6 @@ def db_to_json(db_content):
if isinstance(db_content, memoryview): if isinstance(db_content, memoryview):
db_content = db_content.tobytes() db_content = db_content.tobytes()
# psycopg2 on Python 2 returns buffer objects, which we need to cast to
# bytes to decode
if PY2 and isinstance(db_content, builtins.buffer):
db_content = bytes(db_content)
# Decode it to a Unicode string before feeding it to json.loads, so we # Decode it to a Unicode string before feeding it to json.loads, so we
# consistenty get a Unicode-containing object out. # consistenty get a Unicode-containing object out.
if isinstance(db_content, (bytes, bytearray)): if isinstance(db_content, (bytes, bytearray)):

View File

@ -17,8 +17,6 @@
import itertools import itertools
import logging import logging
import six
from signedjson.key import decode_verify_key_bytes from signedjson.key import decode_verify_key_bytes
from synapse.storage._base import SQLBaseStore from synapse.storage._base import SQLBaseStore
@ -28,12 +26,8 @@ from synapse.util.iterutils import batch_iter
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
# py2 sqlite has buffer hardcoded as only binary type, so we must use it,
# despite being deprecated and removed in favor of memoryview db_binary_type = memoryview
if six.PY2:
db_binary_type = six.moves.builtins.buffer
else:
db_binary_type = memoryview
class KeyStore(SQLBaseStore): class KeyStore(SQLBaseStore):

View File

@ -16,8 +16,6 @@
import logging import logging
from collections import namedtuple from collections import namedtuple
import six
from canonicaljson import encode_canonical_json from canonicaljson import encode_canonical_json
from twisted.internet import defer from twisted.internet import defer
@ -27,12 +25,7 @@ from synapse.storage._base import SQLBaseStore, db_to_json
from synapse.storage.database import Database from synapse.storage.database import Database
from synapse.util.caches.expiringcache import ExpiringCache from synapse.util.caches.expiringcache import ExpiringCache
# py2 sqlite has buffer hardcoded as only binary type, so we must use it, db_binary_type = memoryview
# despite being deprecated and removed in favor of memoryview
if six.PY2:
db_binary_type = six.moves.builtins.buffer
else:
db_binary_type = memoryview
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)