Mercurial > public > mercurial-scm > hg
comparison mercurial/policy.py @ 43506:9f70512ae2cf
cleanup: remove pointless r-prefixes on single-quoted strings
This is the promised second step on single-quoted strings. These had
existed because our source transformer didn't turn r'' into b'', so we
had tagged some strings as r-strings to get "native" strings on both
Pythons. Now that the transformer is gone, we can dispense with this
nonsense.
Methodology:
I ran
hg locate 'set:added() or modified() or clean()' | egrep '.*\.py$' | xargs egrep --color=never -n -- \[\^b\]\[\^a-z\]r\'\[\^\'\\\\\]\*\'\[\^\'\
in an emacs grep-mode buffer, and then used a keyboard macro to
iterate over the results and remove the r prefix as needed.
# skip-blame removing unneeded r prefixes left over from Python 3 migration.
Differential Revision: https://phab.mercurial-scm.org/D7306
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 08 Nov 2019 11:19:20 -0800 |
parents | 313e3a279828 |
children | 0c659fc20207 |
comparison
equal
deleted
inserted
replaced
43505:47fac1692ede | 43506:9f70512ae2cf |
---|---|
27 # run without recompiling the C extensions. This will be overridden by | 27 # run without recompiling the C extensions. This will be overridden by |
28 # __modulepolicy__ generated by setup.py. | 28 # __modulepolicy__ generated by setup.py. |
29 policy = b'allow' | 29 policy = b'allow' |
30 _packageprefs = { | 30 _packageprefs = { |
31 # policy: (versioned package, pure package) | 31 # policy: (versioned package, pure package) |
32 b'c': (r'cext', None), | 32 b'c': ('cext', None), |
33 b'allow': (r'cext', r'pure'), | 33 b'allow': ('cext', 'pure'), |
34 b'cffi': (r'cffi', None), | 34 b'cffi': ('cffi', None), |
35 b'cffi-allow': (r'cffi', r'pure'), | 35 b'cffi-allow': ('cffi', 'pure'), |
36 b'py': (None, r'pure'), | 36 b'py': (None, 'pure'), |
37 # For now, rust policies impact importrust only | 37 # For now, rust policies impact importrust only |
38 b'rust+c': (r'cext', None), | 38 b'rust+c': ('cext', None), |
39 b'rust+c-allow': (r'cext', r'pure'), | 39 b'rust+c-allow': ('cext', 'pure'), |
40 } | 40 } |
41 | 41 |
42 try: | 42 try: |
43 from . import __modulepolicy__ | 43 from . import __modulepolicy__ |
44 | 44 |
48 | 48 |
49 # PyPy doesn't load C extensions. | 49 # PyPy doesn't load C extensions. |
50 # | 50 # |
51 # The canonical way to do this is to test platform.python_implementation(). | 51 # The canonical way to do this is to test platform.python_implementation(). |
52 # But we don't import platform and don't bloat for it here. | 52 # But we don't import platform and don't bloat for it here. |
53 if r'__pypy__' in sys.builtin_module_names: | 53 if '__pypy__' in sys.builtin_module_names: |
54 policy = b'cffi' | 54 policy = b'cffi' |
55 | 55 |
56 # Environment variable can always force settings. | 56 # Environment variable can always force settings. |
57 if sys.version_info[0] >= 3: | 57 if sys.version_info[0] >= 3: |
58 if r'HGMODULEPOLICY' in os.environ: | 58 if 'HGMODULEPOLICY' in os.environ: |
59 policy = os.environ[r'HGMODULEPOLICY'].encode(r'utf-8') | 59 policy = os.environ['HGMODULEPOLICY'].encode('utf-8') |
60 else: | 60 else: |
61 policy = os.environ.get(r'HGMODULEPOLICY', policy) | 61 policy = os.environ.get('HGMODULEPOLICY', policy) |
62 | 62 |
63 | 63 |
64 def _importfrom(pkgname, modname): | 64 def _importfrom(pkgname, modname): |
65 # from .<pkgname> import <modname> (where . is looked through this module) | 65 # from .<pkgname> import <modname> (where . is looked through this module) |
66 fakelocals = {} | 66 fakelocals = {} |
67 pkg = __import__(pkgname, globals(), fakelocals, [modname], level=1) | 67 pkg = __import__(pkgname, globals(), fakelocals, [modname], level=1) |
68 try: | 68 try: |
69 fakelocals[modname] = mod = getattr(pkg, modname) | 69 fakelocals[modname] = mod = getattr(pkg, modname) |
70 except AttributeError: | 70 except AttributeError: |
71 raise ImportError(r'cannot import name %s' % modname) | 71 raise ImportError('cannot import name %s' % modname) |
72 # force import; fakelocals[modname] may be replaced with the real module | 72 # force import; fakelocals[modname] may be replaced with the real module |
73 getattr(mod, '__doc__', None) | 73 getattr(mod, '__doc__', None) |
74 return fakelocals[modname] | 74 return fakelocals[modname] |
75 | 75 |
76 | 76 |
77 # keep in sync with "version" in C modules | 77 # keep in sync with "version" in C modules |
78 _cextversions = { | 78 _cextversions = { |
79 (r'cext', r'base85'): 1, | 79 ('cext', 'base85'): 1, |
80 (r'cext', r'bdiff'): 3, | 80 ('cext', 'bdiff'): 3, |
81 (r'cext', r'mpatch'): 1, | 81 ('cext', 'mpatch'): 1, |
82 (r'cext', r'osutil'): 4, | 82 ('cext', 'osutil'): 4, |
83 (r'cext', r'parsers'): 13, | 83 ('cext', 'parsers'): 13, |
84 } | 84 } |
85 | 85 |
86 # map import request to other package or module | 86 # map import request to other package or module |
87 _modredirects = { | 87 _modredirects = { |
88 (r'cext', r'charencode'): (r'cext', r'parsers'), | 88 ('cext', 'charencode'): ('cext', 'parsers'), |
89 (r'cffi', r'base85'): (r'pure', r'base85'), | 89 ('cffi', 'base85'): ('pure', 'base85'), |
90 (r'cffi', r'charencode'): (r'pure', r'charencode'), | 90 ('cffi', 'charencode'): ('pure', 'charencode'), |
91 (r'cffi', r'parsers'): (r'pure', r'parsers'), | 91 ('cffi', 'parsers'): ('pure', 'parsers'), |
92 } | 92 } |
93 | 93 |
94 | 94 |
95 def _checkmod(pkgname, modname, mod): | 95 def _checkmod(pkgname, modname, mod): |
96 expected = _cextversions.get((pkgname, modname)) | 96 expected = _cextversions.get((pkgname, modname)) |
97 actual = getattr(mod, 'version', None) | 97 actual = getattr(mod, 'version', None) |
98 if actual != expected: | 98 if actual != expected: |
99 raise ImportError( | 99 raise ImportError( |
100 r'cannot import module %s.%s ' | 100 'cannot import module %s.%s ' |
101 r'(expected version: %d, actual: %r)' | 101 '(expected version: %d, actual: %r)' |
102 % (pkgname, modname, expected, actual) | 102 % (pkgname, modname, expected, actual) |
103 ) | 103 ) |
104 | 104 |
105 | 105 |
106 def importmod(modname): | 106 def importmod(modname): |
107 """Import module according to policy and check API version""" | 107 """Import module according to policy and check API version""" |
108 try: | 108 try: |
109 verpkg, purepkg = _packageprefs[policy] | 109 verpkg, purepkg = _packageprefs[policy] |
110 except KeyError: | 110 except KeyError: |
111 raise ImportError(r'invalid HGMODULEPOLICY %r' % policy) | 111 raise ImportError('invalid HGMODULEPOLICY %r' % policy) |
112 assert verpkg or purepkg | 112 assert verpkg or purepkg |
113 if verpkg: | 113 if verpkg: |
114 pn, mn = _modredirects.get((verpkg, modname), (verpkg, modname)) | 114 pn, mn = _modredirects.get((verpkg, modname), (verpkg, modname)) |
115 try: | 115 try: |
116 mod = _importfrom(pn, mn) | 116 mod = _importfrom(pn, mn) |
139 """ | 139 """ |
140 if not policy.startswith(b'rust'): | 140 if not policy.startswith(b'rust'): |
141 return default | 141 return default |
142 | 142 |
143 try: | 143 try: |
144 mod = _importfrom(r'rustext', modname) | 144 mod = _importfrom('rustext', modname) |
145 except ImportError: | 145 except ImportError: |
146 if _isrustpermissive(): | 146 if _isrustpermissive(): |
147 return default | 147 return default |
148 raise | 148 raise |
149 if member is None: | 149 if member is None: |