Files
@ 69f70de15f26
Branch filter:
Location: kallithea/scripts/logformat.py - annotation
69f70de15f26
1.7 KiB
text/x-python
scripts: add developer script validate-commits
validate-commits can be used to verify a series of commits before
submitting/pushing it. It will create a virtualenv and run run-all-cleanup
and pytest.
Invocation:
validate-commits <revset>
Output:
OK: 99c28d4459286261f7e798ab3fe60be3b0be2e7e (run-all-cleanup)
OK: 99c28d4459286261f7e798ab3fe60be3b0be2e7e (pytest)
OK: 8a79857fb430eea80556af8d7e7c88810eee7f25 (run-all-cleanup)
NOK: 8a79857fb430eea80556af8d7e7c88810eee7f25 (pytest)
OK: 42d4c56ad79c4a492b8bc607aa070de32d9c6073 (run-all-cleanup)
NOK: 42d4c56ad79c4a492b8bc607aa070de32d9c6073 (pytest)
validate-commits can be used to verify a series of commits before
submitting/pushing it. It will create a virtualenv and run run-all-cleanup
and pytest.
Invocation:
validate-commits <revset>
Output:
OK: 99c28d4459286261f7e798ab3fe60be3b0be2e7e (run-all-cleanup)
OK: 99c28d4459286261f7e798ab3fe60be3b0be2e7e (pytest)
OK: 8a79857fb430eea80556af8d7e7c88810eee7f25 (run-all-cleanup)
NOK: 8a79857fb430eea80556af8d7e7c88810eee7f25 (pytest)
OK: 42d4c56ad79c4a492b8bc607aa070de32d9c6073 (run-all-cleanup)
NOK: 42d4c56ad79c4a492b8bc607aa070de32d9c6073 (pytest)
8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 8bc8366a6874 665dfa112f2c 8bc8366a6874 8bc8366a6874 665dfa112f2c | #!/usr/bin/env python2
import re
import sys
if len(sys.argv) < 2:
print 'Cleanup of superfluous % formatting of log statements.'
print 'Usage:'
print ''' hg revert `hg loc '*.py'|grep -v logformat.py` && scripts/logformat.py `hg loc '*.py'` && hg diff'''
raise SystemExit(1)
logre = r'''
(log\.(?:error|info|warning|debug)
[(][ \n]*
)
%s
(
[ \n]*[)]
)
'''
res = [
# handle % () - keeping spaces around the old %
(re.compile(logre % r'''("[^"]*"|'[^']*') ([\n ]*) % ([\n ]*) \( ( (?:[^()]|\n)* (?: \( (?:[^()]|\n)* \) (?:[^()]|\n)* )* ) \) ''', flags=re.MULTILINE|re.VERBOSE), r'\1\2,\3\4\5\6'),
# handle % without () - keeping spaces around the old %
(re.compile(logre % r'''("[^"]*"|'[^']*') ([\n ]*) % ([\n ]*) ( (?:[^()]|\n)* (?: \( (?:[^()]|\n)* \) (?:[^()]|\n)* )* ) ''', flags=re.MULTILINE|re.VERBOSE), r'\1\2,\3\4\5\6'),
# remove extra space if it is on next line
(re.compile(logre % r'''("[^"]*"|'[^']*') , (\n [ ]) ([ ][\n ]*) ( (?:[^()]|\n)* (?: \( (?:[^()]|\n)* \) (?:[^()]|\n)* )* ) ''', flags=re.MULTILINE|re.VERBOSE), r'\1\2,\3\4\5\6'),
# remove extra space if it is on same line
(re.compile(logre % r'''("[^"]*"|'[^']*') , [ ]+ () ( [\n ]+) ( (?:[^()]|\n)* (?: \( (?:[^()]|\n)* \) (?:[^()]|\n)* )* ) ''', flags=re.MULTILINE|re.VERBOSE), r'\1\2,\3\4\5\6'),
# remove trailing , and space
(re.compile(logre % r'''("[^"]*"|'[^']*') , () ( [\n ]*) ( (?:[^()]|\n)* (?: \( (?:[^()]|\n)* \) (?:[^()]|\n)* )* [^(), \n] ) [ ,]*''', flags=re.MULTILINE|re.VERBOSE), r'\1\2,\3\4\5\6'),
]
for f in sys.argv[1:]:
s = open(f).read()
for r, t in res:
s = r.sub(t, s)
open(f, 'w').write(s)
|