diff options
Diffstat (limited to 'admin/stats/renamelogs.py')
| -rwxr-xr-x | admin/stats/renamelogs.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/admin/stats/renamelogs.py b/admin/stats/renamelogs.py new file mode 100755 index 0000000..34fbccf --- /dev/null +++ b/admin/stats/renamelogs.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 + +from datetime import datetime +from os import rename +from pathlib import Path +import re +from sys import argv + + +ACCESS_RE = re.compile(' '.join(( + r'\S+', + r'\S+', + r'\S+', + r'\[(?P<date>[^:]+):\S+ \S+\]', + r'"GET [^ ?]+(\?\S+)? [^"]+"', + r'200 [0-9]+', + r'"[^"]+(\?\S+)?"', + r'"[^"]+"' +))) + +DATE_FMT = '%d/%b/%Y' + + +def main(paths): + for p in paths: + with open(p) as f: + date = ACCESS_RE.search(f.read()).group('date') + + date = datetime.strptime(date, DATE_FMT) + new_path = Path(p).with_name(date.strftime('%F')) + rename(p, new_path) + + +if __name__ == '__main__': + main(argv[1:]) |
