Mercurial > kallithea
diff scripts/source_format.py @ 8771:f8971422795e
scripts: introduce source_format.py to fix up the module name in file headers
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 07 Nov 2020 02:29:41 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/source_format.py Sat Nov 07 02:29:41 2020 +0100 @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +# hg files 'set:!binary()&grep("^#!.*python")' 'set:**.py' | xargs scripts/source_format.py + +import re +import sys + + +filenames = sys.argv[1:] + +for fn in filenames: + with open(fn) as f: + org_content = f.read() + + mod_name = fn[:-3] if fn.endswith('.py') else fn + mod_name = mod_name[:-9] if mod_name.endswith('/__init__') else mod_name + mod_name = mod_name.replace('/', '.') + def f(m): + return '"""\n%s\n%s\n' % (mod_name, '~' * len(mod_name)) + new_content = re.sub(r'^"""\n(kallithea\..*\n)(~+\n)?', f, org_content, count=1, flags=re.MULTILINE) + + if new_content != org_content: + with open(fn, 'w') as f: + f.write(new_content)