Merge ~hloeung/smtp-relay-charm:fgrepmail-logs into smtp-relay-charm:master

Proposed by Haw Loeung
Status: Merged
Approved by: Haw Loeung
Approved revision: 8187a7f70301f5ecfbc9f03280eb2b55cd6c9b24
Merged at revision: f71477065dce393246cd11557e4ac0d2aedad44e
Proposed branch: ~hloeung/smtp-relay-charm:fgrepmail-logs
Merge into: smtp-relay-charm:master
Diff against target: 54 lines (+25/-11)
1 file modified
files/fgrepmail-logs.py (+25/-11)
Reviewer Review Type Date Requested Status
Paul Collins lgtm Approve
Canonical IS Reviewers Pending
Review via email: mp+415288@code.launchpad.net

Commit message

files/fgrepmail-logs.py: Fix searching logs by date

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
Paul Collins (pjdc) :
review: Approve (lgtm)
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision f71477065dce393246cd11557e4ac0d2aedad44e

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/files/fgrepmail-logs.py b/files/fgrepmail-logs.py
2index 18a928a..2de498e 100755
3--- a/files/fgrepmail-logs.py
4+++ b/files/fgrepmail-logs.py
5@@ -5,6 +5,7 @@
6 #
7 # Easily search mail logs pulling all associated lines for specific matches.
8
9+import datetime
10 import glob
11 import os
12 import re
13@@ -40,17 +41,30 @@ def build_maillogs_list(logs=None):
14 search_logs.append(name + '.gz')
15 continue
16
17- # Support for just the date, e.g. 20210728 (mail.log-20210728).
18- name = '{}-{}'.format(default, log)
19- search_logs.append(name)
20- # Just the date and gzip compressed.
21- search_logs.append(name + '.gz')
22-
23- # Date hyphened, `date -I`.
24- name = '{}-{}'.format(default, log.replace('-', ''))
25- search_logs.append(name)
26- # gzip compressed.
27- search_logs.append(name + '.gz')
28+ # Date format (e.g. 20220209 or 2022-02-09).
29+ if log.startswith('202'):
30+ # Date hyphened, `date -I`.
31+ date = log.replace('-', '')
32+
33+ # systemd logrotate.timer runs at 00:00 UTC so we need to use the day after.
34+ date = '{}-{}-{}'.format(date[:4], date[4:6], date[6:8])
35+ dt = datetime.date.fromisoformat(date)
36+ daydelta = datetime.timedelta(days = 1)
37+ after = dt + daydelta
38+ # Current day is mail.log so include that if 202X-XX-XX is today.
39+ if date == (str(datetime.date.today())):
40+ include_default = True
41+ continue
42+ date = str(after).replace('-', '')
43+
44+ name = '{}-{}'.format(default, date)
45+ search_logs.append(name)
46+ # Just the date and gzip compressed.
47+ search_logs.append(name + '.gz')
48+ continue
49+
50+ print('Unsupported format {}'.format(log))
51+ return []
52
53 maillogs = []
54 for log in search_logs:

Subscribers

People subscribed via source and target branches