diff --git a/zodbtools/test/test_dump.py b/zodbtools/test/test_dump.py index d46b1bccc1dd9f3503f6e6da1b33f46850aa8d49..57911ba2e0ea50ce06275e2f5b7835cd6cdecc8c 100644 --- a/zodbtools/test/test_dump.py +++ b/zodbtools/test/test_dump.py @@ -23,6 +23,7 @@ from zodbtools.zodbdump import ( zodbdump, DumpReader, Transaction, ObjectDelete, ObjectCopy, ObjectData, HashOnly ) +from zodbtools.util import fromhex from ZODB.FileStorage import FileStorage from ZODB.utils import p64 from io import BytesIO @@ -74,7 +75,7 @@ extension "qqq" r = DumpReader(BytesIO(in_)) t1 = r.readtxn() assert isinstance(t1, Transaction) - assert t1.tid == '0123456789abcdef'.decode('hex') + assert t1.tid == fromhex('0123456789abcdef') assert t1.user == b'my name' assert t1.description == b'o la-la...' assert t1.extension_bytes == b'zzz123 def' @@ -85,29 +86,29 @@ extension "qqq" _ = t1.objv[1] assert isinstance(_, ObjectCopy) assert _.oid == p64(2) - assert _.copy_from == '0123456789abcdee'.decode('hex') + assert _.copy_from == fromhex('0123456789abcdee') _ = t1.objv[2] assert isinstance(_, ObjectData) assert _.oid == p64(3) assert _.data == HashOnly(54) assert _.hashfunc == 'adler32' - assert _.hash_ == '01234567'.decode('hex') + assert _.hash_ == fromhex('01234567') _ = t1.objv[3] assert isinstance(_, ObjectData) assert _.oid == p64(4) assert _.data == b'ZZZZ' assert _.hashfunc == 'sha1' - assert _.hash_ == '9865d483bc5a94f2e30056fc256ed3066af54d04'.decode('hex') + assert _.hash_ == fromhex('9865d483bc5a94f2e30056fc256ed3066af54d04') _ = t1.objv[4] assert isinstance(_, ObjectData) assert _.oid == p64(5) assert _.data == b'ABC\n\nDEF!' assert _.hashfunc == 'crc32' - assert _.hash_ == '52fdeac5'.decode('hex') + assert _.hash_ == fromhex('52fdeac5') t2 = r.readtxn() assert isinstance(t2, Transaction) - assert t2.tid == '0123456789abcdf0'.decode('hex') + assert t2.tid == fromhex('0123456789abcdf0') assert t2.user == b'author2' assert t2.description == b'zzz' assert t2.extension_bytes == b'qqq' diff --git a/zodbtools/zodbcommit.py b/zodbtools/zodbcommit.py index d6e6d7e2f2849945d703bdf15b5091fb117f57e8..4aa3002b2029fc40a0dc5cfe6917a52c435006bd 100644 --- a/zodbtools/zodbcommit.py +++ b/zodbtools/zodbcommit.py @@ -1,5 +1,5 @@ -# Copyright (C) 2018 Nexedi SA and Contributors. -# Kirill Smelkov <kirr@nexedi.com> +# Copyright (C) 2018-2019 Nexedi SA and Contributors. +# Kirill Smelkov <kirr@nexedi.com> # # This program is free software: you can Use, Study, Modify and Redistribute # it under the terms of the GNU General Public License version 3, or (at your @@ -40,7 +40,7 @@ can query current database head (last_tid) with `zodb info <stor> last_tid`. from __future__ import print_function from zodbtools import zodbdump -from zodbtools.util import ashex, storageFromURL +from zodbtools.util import ashex, fromhex, storageFromURL from ZODB.utils import p64, u64, z64 from ZODB.POSException import POSKeyError from ZODB._compat import BytesIO @@ -154,7 +154,7 @@ def main(argv): sys.exit(2) storurl = argv[0] - at = argv[1].decode('hex') + at = fromhex(argv[1]) stor = storageFromURL(storurl) defer(stor.close)