# HG changeset patch # User Augie Fackler # Date 2019-05-29 13:55:35 # Node ID 04eb3c5607afde2d12161255a0d2eb4acb8363ae # Parent 91452f62dd538f3f6b2ec0543074c1ffa2419dfc contrib: fix import-checker to operate on str instead of bytes I believe this is fallout from other Python 3 cleanups, and our code linting tools are now leaning towards operating on str and not bytes. I don't feel strongly, so I've just restored this tool to working on Python 3. Differential Revision: https://phab.mercurial-scm.org/D6453 diff --git a/contrib/import-checker.py b/contrib/import-checker.py --- a/contrib/import-checker.py +++ b/contrib/import-checker.py @@ -649,15 +649,15 @@ def embedded(f, modname, src): ... print("%s %s %d" % (_forcestr(m), _forcestr(f), l)) ... print(repr(_forcestr(s))) >>> lines = [ - ... b'comment', - ... b' >>> from __future__ import print_function', - ... b" >>> ' multiline", - ... b" ... string'", - ... b' ', - ... b'comment', - ... b' $ cat > foo.py < from __future__ import print_function', - ... b' > EOF', + ... 'comment', + ... ' >>> from __future__ import print_function', + ... " >>> ' multiline", + ... " ... string'", + ... ' ', + ... 'comment', + ... ' $ cat > foo.py < from __future__ import print_function', + ... ' > EOF', ... ] >>> test(b"example.t", lines) example[2] doctest.py 1 @@ -694,7 +694,7 @@ def sources(f, modname): yield src.read(), modname, f, 0 py = True if py or f.endswith('.t'): - with open(f, 'rb') as src: + with open(f, 'r') as src: for script, modname, t, line in embedded(f, modname, src): yield script, modname.encode('utf8'), t, line