scripts: modernize logextract.py (with opens, generators)
Signed-off-by: Maël Kerbiriou <m431kerbiriou@gmail.com>
This commit is contained in:
parent
fbc5589097
commit
7e93af2574
|
@ -4,7 +4,7 @@
|
|||
# Copyright (C) 2017 Kevin O'Connor <kevin@koconnor.net>
|
||||
#
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license.
|
||||
import sys, re, collections, ast
|
||||
import sys, re, collections, ast, itertools
|
||||
|
||||
def format_comment(line_num, line):
|
||||
return "# %6d: %s" % (line_num, line)
|
||||
|
@ -40,9 +40,10 @@ class GatherConfig:
|
|||
if comment is not None:
|
||||
self.comments.append(comment)
|
||||
def write_file(self):
|
||||
f = open(self.filename, 'wt')
|
||||
f.write('\n'.join(self.comments + self.config_lines).strip() + '\n')
|
||||
f.close()
|
||||
lines = itertools.chain(self.comments, self.config_lines)
|
||||
lines = ('%s\n' % l for l in lines)
|
||||
with open(self.filename, 'wt') as f:
|
||||
f.writelines(lines)
|
||||
|
||||
|
||||
######################################################################
|
||||
|
@ -383,10 +384,9 @@ class GCodeStream:
|
|||
def get_lines(self):
|
||||
# Produce output gcode stream
|
||||
if self.gcode_stream:
|
||||
data = [ast.literal_eval(gc) for gc in self.gcode_commands]
|
||||
f = open(self.gcode_filename, 'wt')
|
||||
data = (ast.literal_eval(gc) for gc in self.gcode_commands)
|
||||
with open(self.gcode_filename, 'wt') as f:
|
||||
f.write(self.gcode_state + ''.join(data))
|
||||
f.close()
|
||||
return self.gcode_stream
|
||||
|
||||
api_cmd_r = re.compile(r"^Received " + time_s + r": \{.*\}$")
|
||||
|
@ -566,10 +566,10 @@ class GatherShutdown:
|
|||
# Produce output sorted by timestamp
|
||||
out = [i for s in streams for i in s]
|
||||
out.sort()
|
||||
out = [i[2] for i in out]
|
||||
f = open(self.filename, 'wt')
|
||||
f.write('\n'.join(self.comments + out))
|
||||
f.close()
|
||||
lines = itertools.chain(self.comments, (i[2] for i in out))
|
||||
lines = ('%s\n' % l for l in lines)
|
||||
with open(self.filename, 'wt') as f:
|
||||
f.writelines(lines)
|
||||
|
||||
|
||||
######################################################################
|
||||
|
@ -583,7 +583,7 @@ def main():
|
|||
handler = None
|
||||
recent_lines = collections.deque([], 200)
|
||||
# Parse log file
|
||||
f = open(logname, 'rt')
|
||||
with open(logname, 'rt') as f:
|
||||
for line_num, line in enumerate(f):
|
||||
line = line.rstrip()
|
||||
line_num += 1
|
||||
|
@ -599,11 +599,13 @@ def main():
|
|||
elif line.startswith('Start printer at'):
|
||||
last_start = format_comment(line_num, line)
|
||||
elif line == '===== Config file =====':
|
||||
handler = GatherConfig(configs, line_num, recent_lines, logname)
|
||||
handler = GatherConfig(configs, line_num,
|
||||
recent_lines, logname)
|
||||
handler.add_comment(last_git)
|
||||
handler.add_comment(last_start)
|
||||
elif 'shutdown: ' in line or line.startswith('Dumping '):
|
||||
handler = GatherShutdown(configs, line_num, recent_lines, logname)
|
||||
handler = GatherShutdown(configs, line_num,
|
||||
recent_lines, logname)
|
||||
handler.add_comment(last_git)
|
||||
handler.add_comment(last_start)
|
||||
if handler is not None:
|
||||
|
|
Loading…
Reference in New Issue