changeset 849222352082 in trytond:default details: https://hg.tryton.org/trytond?cmd=changeset&node=849222352082 description: Remove python2 compatibility code from fields.Binary
issue11467 review411111003 diffstat: trytond/model/fields/binary.py | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diffs (35 lines): diff -r c7b0d5f64013 -r 849222352082 trytond/model/fields/binary.py --- a/trytond/model/fields/binary.py Mon May 02 16:25:17 2022 +0200 +++ b/trytond/model/fields/binary.py Fri May 06 18:18:01 2022 +0200 @@ -9,13 +9,21 @@ from .field import Field +def caster(d): + if isinstance(d, bytes): + return d + elif isinstance(d, memoryview): + return bytes(d) + return bytes(d, encoding='utf8') + + class Binary(Field): ''' Define a binary field (``bytes``). ''' _type = 'binary' _sql_type = 'BLOB' - cast = bytearray if bytes == str else bytes + cast = staticmethod(caster) def __init__(self, string='', help='', required=False, readonly=False, domain=None, states=None, select=False, on_change=None, @@ -89,8 +97,6 @@ continue value = i[name] if value: - if isinstance(value, str): - value = value.encode('utf-8') value = converter(value) else: value = default