From 3b8b42c8c1f53375607f8c4dc9481098cc120a52 Mon Sep 17 00:00:00 2001 From: JustAnotherArchivist Date: Sat, 19 Dec 2020 16:44:05 +0000 Subject: [PATCH] Trailing newlines are probably a good idea... --- efnet-irclogger-convert.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/efnet-irclogger-convert.py b/efnet-irclogger-convert.py index dd48cc8..8444de6 100644 --- a/efnet-irclogger-convert.py +++ b/efnet-irclogger-convert.py @@ -17,37 +17,37 @@ with open(filename, 'rb') as fp: line = line[8:-1] ts = datetime.datetime(int(date[:4]), int(date[5:7]), int(date[8:]), int(time[:2]), int(time[3:]), 0).replace(tzinfo = datetime.timezone.utc).timestamp() if line.startswith(b'<'): #PRIVMSG - sys.stdout.buffer.write(f'{ts} PRIVMSG '.encode('ascii') + line) + sys.stdout.buffer.write(f'{ts} PRIVMSG '.encode('ascii') + line + b'\n') elif line.startswith(b'* '): #ACTION - sys.stdout.buffer.write(f'{ts} ACTION '.encode('ascii') + line[2:]) + sys.stdout.buffer.write(f'{ts} ACTION '.encode('ascii') + line[2:] + b'\n') elif line.startswith(b'*** '): words = line.split(b' ')[1:] if words[1:3] == [b'has', b'joined']: # JOIN - sys.stdout.buffer.write(f'{ts} JOIN '.encode('ascii') + words[0] + b' joins') + sys.stdout.buffer.write(f'{ts} JOIN '.encode('ascii') + words[0] + b' joins' + b'\n') elif words[0] == b'Joins:': # JOIN - sys.stdout.buffer.write(f'{ts} JOIN '.encode('ascii') + words[1] + b' joins') + sys.stdout.buffer.write(f'{ts} JOIN '.encode('ascii') + words[1] + b' joins' + b'\n') elif words[1:3] == [b'has', b'left']: # PART reason = (b' [' + b' '.join(words[3:]) + b']') if len(words) > 4 or words[3] != b'' else b'' - sys.stdout.buffer.write(f'{ts} PART '.encode('ascii') + words[0] + b' leaves' + reason) + sys.stdout.buffer.write(f'{ts} PART '.encode('ascii') + words[0] + b' leaves' + reason + b'\n') elif words[0] == b'Parts:': # PART reason = (b' [' + b' '.join(words[3:])[1:-1] + b']') if len(words) > 4 or words[3] != b'()' else b'' - sys.stdout.buffer.write(f'{ts} PART '.encode('ascii') + words[1] + b' leaves' + reason) + sys.stdout.buffer.write(f'{ts} PART '.encode('ascii') + words[1] + b' leaves' + reason + b'\n') elif words[1:4] == [b'has', b'quit', b'IRC']: # QUIT reason = (b' [' + b' '.join(words[4:])[1:-1] + b']') if len(words) > 4 or words[4] != b'()' else b'' - sys.stdout.buffer.write(f'{ts} QUIT '.encode('ascii') + words[0] + b' quits' + reason) + sys.stdout.buffer.write(f'{ts} QUIT '.encode('ascii') + words[0] + b' quits' + reason + b'\n') elif words[0] == b'Quits:': # QUIT reason = (b' [' + b' '.join(words[3:])[1:-1] + b']') if len(words) > 4 or words[3] != b'()' else b'' - sys.stdout.buffer.write(f'{ts} QUIT '.encode('ascii') + words[0] + b' quits' + reason) + sys.stdout.buffer.write(f'{ts} QUIT '.encode('ascii') + words[0] + b' quits' + reason + b'\n') elif words[1:4] == [b'was', b'kicked', b'by']: # KICK - sys.stdout.buffer.write(f'{ts} KICK '.encode('ascii') + words[0] + b' is kicked by ' + words[4] + b' [' + b' '.join(words[5:])[1:-1] + b']') + sys.stdout.buffer.write(f'{ts} KICK '.encode('ascii') + words[0] + b' is kicked by ' + words[4] + b' [' + b' '.join(words[5:])[1:-1] + b']' + b'\n') elif words[1:3] == [b'sets', b'mode:']: # MODE - sys.stdout.buffer.write(f'{ts} MODE '.encode('ascii') + line[4:]) + sys.stdout.buffer.write(f'{ts} MODE '.encode('ascii') + line[4:] + b'\n') elif words[1:4] == [b'changes', b'topic', b'to:']: # TOPIC - sys.stdout.buffer.write(f'{ts} TOPIC '.encode('ascii') + words[0] + b' sets the topic to: ' + b' '.join(words[4:])) + sys.stdout.buffer.write(f'{ts} TOPIC '.encode('ascii') + words[0] + b' sets the topic to: ' + b' '.join(words[4:]) + b'\n') elif words[1:4] == [b'changes', b'topic', b'to']: # TOPIC - sys.stdout.buffer.write(f'{ts} TOPIC '.encode('ascii') + words[0] + b' sets the topic to: ' + b' '.join(words[4:])[1:-1]) + sys.stdout.buffer.write(f'{ts} TOPIC '.encode('ascii') + words[0] + b' sets the topic to: ' + b' '.join(words[4:])[1:-1] + b'\n') elif words[1:5] == [b'is', b'now', b'known', b'as']: # NICK - sys.stdout.buffer.write(f'{ts} NICK '.encode('ascii') + line[4:]) + sys.stdout.buffer.write(f'{ts} NICK '.encode('ascii') + line[4:] + b'\n') elif words[1:3] == [b'starts', b'logging']: # Silently ignore (there's already a JOIN) pass else: