diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2021-03-27 21:06:11 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2021-03-27 21:06:11 +0100 |
| commit | ecae0f066e83b596bc3a590baa1968fa1666ad19 (patch) | |
| tree | 3eecd9019ab300c13e8ed6b29f27f43b05df35d1 /admin/stats/renamelogs.py | |
| parent | df1c1afc80711b08927fd7968adaf4de5349df10 (diff) | |
| download | quatuorbellefeuille.com-ecae0f066e83b596bc3a590baa1968fa1666ad19.tar.xz | |
Add new script to process multiple log files
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:]) |
