summaryrefslogtreecommitdiff
path: root/admin/stats/renamelogs.py
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2021-03-27 21:06:11 +0100
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2021-03-27 21:06:11 +0100
commitecae0f066e83b596bc3a590baa1968fa1666ad19 (patch)
tree3eecd9019ab300c13e8ed6b29f27f43b05df35d1 /admin/stats/renamelogs.py
parentdf1c1afc80711b08927fd7968adaf4de5349df10 (diff)
downloadquatuorbellefeuille.com-ecae0f066e83b596bc3a590baa1968fa1666ad19.tar.xz
Add new script to process multiple log files
Diffstat (limited to 'admin/stats/renamelogs.py')
-rwxr-xr-xadmin/stats/renamelogs.py35
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:])