Mercurial > hg
comparison contrib/check-config.py @ 43076:2372284d9457
formatting: blacken the codebase
This is using my patch to black
(https://github.com/psf/black/pull/826) so we don't un-wrap collection
literals.
Done with:
hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**"' | xargs black -S
# skip-blame mass-reformatting only
# no-check-commit reformats foo_bar functions
Differential Revision: https://phab.mercurial-scm.org/D6971
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:45:02 -0400 |
parents | 595a67a301ee |
children | c102b704edb5 |
comparison
equal
deleted
inserted
replaced
43075:57875cf423c9 | 43076:2372284d9457 |
---|---|
13 | 13 |
14 foundopts = {} | 14 foundopts = {} |
15 documented = {} | 15 documented = {} |
16 allowinconsistent = set() | 16 allowinconsistent = set() |
17 | 17 |
18 configre = re.compile(br''' | 18 configre = re.compile( |
19 br''' | |
19 # Function call | 20 # Function call |
20 ui\.config(?P<ctype>|int|bool|list)\( | 21 ui\.config(?P<ctype>|int|bool|list)\( |
21 # First argument. | 22 # First argument. |
22 ['"](?P<section>\S+)['"],\s* | 23 ['"](?P<section>\S+)['"],\s* |
23 # Second argument | 24 # Second argument |
24 ['"](?P<option>\S+)['"](,\s+ | 25 ['"](?P<option>\S+)['"](,\s+ |
25 (?:default=)?(?P<default>\S+?))? | 26 (?:default=)?(?P<default>\S+?))? |
26 \)''', re.VERBOSE | re.MULTILINE) | 27 \)''', |
28 re.VERBOSE | re.MULTILINE, | |
29 ) | |
27 | 30 |
28 configwithre = re.compile(br''' | 31 configwithre = re.compile( |
32 br''' | |
29 ui\.config(?P<ctype>with)\( | 33 ui\.config(?P<ctype>with)\( |
30 # First argument is callback function. This doesn't parse robustly | 34 # First argument is callback function. This doesn't parse robustly |
31 # if it is e.g. a function call. | 35 # if it is e.g. a function call. |
32 [^,]+,\s* | 36 [^,]+,\s* |
33 ['"](?P<section>\S+)['"],\s* | 37 ['"](?P<section>\S+)['"],\s* |
34 ['"](?P<option>\S+)['"](,\s+ | 38 ['"](?P<option>\S+)['"](,\s+ |
35 (?:default=)?(?P<default>\S+?))? | 39 (?:default=)?(?P<default>\S+?))? |
36 \)''', re.VERBOSE | re.MULTILINE) | 40 \)''', |
41 re.VERBOSE | re.MULTILINE, | |
42 ) | |
37 | 43 |
38 configpartialre = (br"""ui\.config""") | 44 configpartialre = br"""ui\.config""" |
39 | 45 |
40 ignorere = re.compile(br''' | 46 ignorere = re.compile( |
47 br''' | |
41 \#\s(?P<reason>internal|experimental|deprecated|developer|inconsistent)\s | 48 \#\s(?P<reason>internal|experimental|deprecated|developer|inconsistent)\s |
42 config:\s(?P<config>\S+\.\S+)$ | 49 config:\s(?P<config>\S+\.\S+)$ |
43 ''', re.VERBOSE | re.MULTILINE) | 50 ''', |
51 re.VERBOSE | re.MULTILINE, | |
52 ) | |
44 | 53 |
45 if sys.version_info[0] > 2: | 54 if sys.version_info[0] > 2: |
55 | |
46 def mkstr(b): | 56 def mkstr(b): |
47 if isinstance(b, str): | 57 if isinstance(b, str): |
48 return b | 58 return b |
49 return b.decode('utf8') | 59 return b.decode('utf8') |
60 | |
61 | |
50 else: | 62 else: |
51 mkstr = lambda x: x | 63 mkstr = lambda x: x |
64 | |
52 | 65 |
53 def main(args): | 66 def main(args): |
54 for f in args: | 67 for f in args: |
55 sect = b'' | 68 sect = b'' |
56 prevname = b'' | 69 prevname = b'' |
113 if not ctype: | 126 if not ctype: |
114 ctype = 'str' | 127 ctype = 'str' |
115 name = m.group('section') + b"." + m.group('option') | 128 name = m.group('section') + b"." + m.group('option') |
116 default = m.group('default') | 129 default = m.group('default') |
117 if default in ( | 130 if default in ( |
118 None, b'False', b'None', b'0', b'[]', b'""', b"''"): | 131 None, |
132 b'False', | |
133 b'None', | |
134 b'0', | |
135 b'[]', | |
136 b'""', | |
137 b"''", | |
138 ): | |
119 default = b'' | 139 default = b'' |
120 if re.match(b'[a-z.]+$', default): | 140 if re.match(b'[a-z.]+$', default): |
121 default = b'<variable>' | 141 default = b'<variable>' |
122 if (name in foundopts and (ctype, default) != foundopts[name] | 142 if ( |
123 and name not in allowinconsistent): | 143 name in foundopts |
144 and (ctype, default) != foundopts[name] | |
145 and name not in allowinconsistent | |
146 ): | |
124 print(mkstr(l.rstrip())) | 147 print(mkstr(l.rstrip())) |
125 fctype, fdefault = foundopts[name] | 148 fctype, fdefault = foundopts[name] |
126 print("conflict on %s: %r != %r" % ( | 149 print( |
127 mkstr(name), | 150 "conflict on %s: %r != %r" |
128 (mkstr(ctype), mkstr(default)), | 151 % ( |
129 (mkstr(fctype), mkstr(fdefault)))) | 152 mkstr(name), |
153 (mkstr(ctype), mkstr(default)), | |
154 (mkstr(fctype), mkstr(fdefault)), | |
155 ) | |
156 ) | |
130 print("at %s:%d:" % (mkstr(f), linenum)) | 157 print("at %s:%d:" % (mkstr(f), linenum)) |
131 foundopts[name] = (ctype, default) | 158 foundopts[name] = (ctype, default) |
132 carryover = b'' | 159 carryover = b'' |
133 else: | 160 else: |
134 m = re.search(configpartialre, line) | 161 m = re.search(configpartialre, line) |
137 else: | 164 else: |
138 carryover = b'' | 165 carryover = b'' |
139 | 166 |
140 for name in sorted(foundopts): | 167 for name in sorted(foundopts): |
141 if name not in documented: | 168 if name not in documented: |
142 if not (name.startswith(b"devel.") or | 169 if not ( |
143 name.startswith(b"experimental.") or | 170 name.startswith(b"devel.") |
144 name.startswith(b"debug.")): | 171 or name.startswith(b"experimental.") |
172 or name.startswith(b"debug.") | |
173 ): | |
145 ctype, default = foundopts[name] | 174 ctype, default = foundopts[name] |
146 if default: | 175 if default: |
147 if isinstance(default, bytes): | 176 if isinstance(default, bytes): |
148 default = mkstr(default) | 177 default = mkstr(default) |
149 default = ' [%s]' % default | 178 default = ' [%s]' % default |
150 elif isinstance(default, bytes): | 179 elif isinstance(default, bytes): |
151 default = mkstr(default) | 180 default = mkstr(default) |
152 print("undocumented: %s (%s)%s" % ( | 181 print( |
153 mkstr(name), mkstr(ctype), default)) | 182 "undocumented: %s (%s)%s" |
183 % (mkstr(name), mkstr(ctype), default) | |
184 ) | |
185 | |
154 | 186 |
155 if __name__ == "__main__": | 187 if __name__ == "__main__": |
156 if len(sys.argv) > 1: | 188 if len(sys.argv) > 1: |
157 sys.exit(main(sys.argv[1:])) | 189 sys.exit(main(sys.argv[1:])) |
158 else: | 190 else: |