diff options
Diffstat (limited to 'scripts/generate_identifier_pattern.py')
-rwxr-xr-x | scripts/generate_identifier_pattern.py | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/scripts/generate_identifier_pattern.py b/scripts/generate_identifier_pattern.py index 7db5f4a..96fedba 100755 --- a/scripts/generate_identifier_pattern.py +++ b/scripts/generate_identifier_pattern.py @@ -5,7 +5,7 @@ import re import sys if sys.version_info[0] < 3: - raise RuntimeError('This needs to run on Python 3.') + raise RuntimeError("This needs to run on Python 3.") def get_characters(): @@ -23,7 +23,7 @@ def get_characters(): for cp in range(sys.maxunicode + 1): s = chr(cp) - if ('a' + s).isidentifier() and not re.match(r'\w', s): + if ("a" + s).isidentifier() and not re.match(r"\w", s): yield s @@ -33,10 +33,7 @@ def collapse_ranges(data): Source: https://stackoverflow.com/a/4629241/400617 """ - for a, b in itertools.groupby( - enumerate(data), - lambda x: ord(x[1]) - x[0] - ): + for a, b in itertools.groupby(enumerate(data), lambda x: ord(x[1]) - x[0]): b = list(b) yield b[0][1], b[-1][1] @@ -55,23 +52,23 @@ def build_pattern(ranges): out.append(a) out.append(b) else: - out.append(f'{a}-{b}') + out.append("{}-{}".format(a, b)) - return ''.join(out) + return "".join(out) def main(): """Build the regex pattern and write it to the file :file:`jinja2/_identifier.py`.""" pattern = build_pattern(collapse_ranges(get_characters())) - filename = os.path.abspath(os.path.join( - os.path.dirname(__file__), '..', 'jinja2', '_identifier.py' - )) + filename = os.path.abspath( + os.path.join(os.path.dirname(__file__), "..", "src", "jinja2", "_identifier.py") + ) - with open(filename, 'w', encoding='utf8') as f: - f.write('# generated by scripts/generate_identifier_pattern.py\n') - f.write(f'pattern = \'{pattern}\'\n') + with open(filename, "w", encoding="utf8") as f: + f.write("# generated by scripts/generate_identifier_pattern.py\n") + f.write('pattern = "{}"\n'.format(pattern)) -if __name__ == '__main__': +if __name__ == "__main__": main() |