# HG changeset patch # User Augie Fackler # Date 1503421161 14400 # Node ID 3de9a2df641191755f9a58abb6363b0620ff065d # Parent f672d060a931236390bddb97710516d29131a54c contrib: have import-checker work mostly with native strings for mod names Module names are a bit awkward to deal with portably otherwise. diff -r f672d060a931 -r 3de9a2df6411 contrib/import-checker.py --- a/contrib/import-checker.py Wed Aug 23 12:35:03 2017 -0700 +++ b/contrib/import-checker.py Tue Aug 22 12:59:21 2017 -0400 @@ -147,6 +147,8 @@ >>> fromlocal2('bar', 2) ('foo.bar', 'foo.bar.__init__', True) """ + if not isinstance(modulename, str): + modulename = modulename.decode('ascii') prefix = '.'.join(modulename.split('.')[:-1]) if prefix: prefix += '.' @@ -406,6 +408,8 @@ * Certain modules must be aliased to alternate names to avoid aliasing and readability problems. See `requirealias`. """ + if not isinstance(module, str): + module = module.decode('ascii') topmodule = module.split('.')[0] fromlocal = fromlocalfunc(module, localmods) @@ -724,6 +728,9 @@ localmodpaths[modname] = source_path localmods = populateextmods(localmodpaths) for localmodname, source_path in sorted(localmodpaths.items()): + if not isinstance(localmodname, bytes): + # This is only safe because all hg's files are ascii + localmodname = localmodname.encode('ascii') for src, modname, name, line in sources(source_path, localmodname): try: used_imports[modname] = sorted(