-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlog2blog.py
More file actions
executable file
·58 lines (48 loc) · 1.78 KB
/
Copy pathlog2blog.py
File metadata and controls
executable file
·58 lines (48 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env python3
from time import strptime
if __name__ == '__main__':
logfile = '/home/praveen/documents/.logs/logfile'
f = open(logfile, 'r')
data = f.read()
f.close()
data = data[:-1]
log_messages = data.split('\n\n')
# Folder to put all the posts in
dest_dir = '/home/praveen/log-posts/'
ymd_prev = None
sameday_msg_index = 0
for message in log_messages:
print(message)
(metadata, message_text) = message.split('\n')
# Parse metadata for date and time info to construct filename
[day, textdate, time, timezone] = metadata.split(' | ')
[date, textmonth, year] = textdate.split()
month = strptime(textmonth, '%b').tm_mon
yyyymmdd = year + '-' + str(month).zfill(2) + '-' + date
timezone = timezone[3:]
if yyyymmdd == ymd_prev:
sameday_msg_index += 1
else:
sameday_msg_index = 1
ymd_prev = yyyymmdd
filename = yyyymmdd + ('-log-message-%d.md' % sameday_msg_index)
# Parse message text for tags and blog text
tags = ['log message', ]
while message_text[0] == '[':
[tag, message_text] = message_text.split(']', 1)
tags.append(tag[1:])
message_text = message_text.strip()
# Construct blog post
filedata = ('---\n'
'layout: blog\n'
'title: Log Message\n'
'date: ' + yyyymmdd + ' ' + time + ' ' + timezone + '\n'
'day: ' + day + '\n'
'tags:\n')
for tag in tags:
filedata += ' - ' + tag + '\n'
filedata += '---\n\n' + message_text
# Write file
f = open(dest_dir + filename, 'w')
f.write(filedata)
f.close()