comparison cutils/treesum.py @ 278:822cf3a1da22

treesum: FIX: Removal of backslashes in output: do this only where really needed. Otherwise "backslashreplace" error encodings are "corrected" too.
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 21 Feb 2025 17:27:59 +0100
parents 9676ecd32a07
children 3c3f8151f36a
comparison
equal deleted inserted replaced
277:9676ecd32a07 278:822cf3a1da22
549 if self._minimal is not None: 549 if self._minimal is not None:
550 self._writer.write_root( 550 self._writer.write_root(
551 (walk.WalkDirEntry.alt_u8(self._minimal) 551 (walk.WalkDirEntry.alt_u8(self._minimal)
552 if self._minimal else b"")) 552 if self._minimal else b""))
553 else: 553 else:
554 self._writer.write_root(walk.WalkDirEntry.alt_u8(root)) 554 self._writer.write_root(walk.WalkDirEntry.alt_u8(
555 util.normalize_filename(root, True)))
555 self._writer.flush() 556 self._writer.flush()
556 557
557 if not self._follow_symlinks.command_line and os.path.islink(root): 558 if not self._follow_symlinks.command_line and os.path.islink(root):
558 linktgt = walk.WalkDirEntry.from_readlink(os.readlink(root)) 559 linktgt = walk.WalkDirEntry.from_readlink(os.readlink(root))
559 linkdgst = self._algorithm[0]() 560 linkdgst = self._algorithm[0]()
1162 use_base64=False, size=None): 1163 use_base64=False, size=None):
1163 if digest is not None: 1164 if digest is not None:
1164 digest = (base64.b64encode(digest) 1165 digest = (base64.b64encode(digest)
1165 if use_base64 1166 if use_base64
1166 else binascii.hexlify(digest)) 1167 else binascii.hexlify(digest))
1167 if filename != b"./@/":
1168 filename = util.normalize_filename(filename, True)
1169 self.write(util.b(algorithm)) 1168 self.write(util.b(algorithm))
1170 self.write(b" (") 1169 self.write(b" (")
1171 self.write(filename) 1170 self.write(filename)
1172 self.write(b")") 1171 self.write(b")")
1173 if digest is not None or size is not None: 1172 if digest is not None or size is not None: