diff options
Diffstat (limited to 'scripts/extractconfig.py')
-rwxr-xr-x | scripts/extractconfig.py | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/scripts/extractconfig.py b/scripts/extractconfig.py deleted file mode 100755 index b50afc51..00000000 --- a/scripts/extractconfig.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python2 -# Script to extract a config file from a log -# -# Copyright (C) 2017 Kevin O'Connor <kevin@koconnor.net> -# -# This file may be distributed under the terms of the GNU GPLv3 license. -import sys - -def format_comment(line_num, line): - return "# %6d: %s" % (line_num, line) - -def main(): - logname = sys.argv[1] - f = open(logname, 'rb') - last_git = last_start = '' - config_count = config_line_num = 0 - configs = {} - config_lines = [] - info = None - # Parse log file - for line_num, line in enumerate(f): - line = line.strip() - line_num += 1 - if config_line_num: - if line == '=======================': - lines = tuple(config_lines) - info = configs.get(lines) - if info is None: - config_count += 1 - configs[lines] = info = (config_count, []) - info[1].append(format_comment(config_line_num, "config file")) - if last_git: - info[1].append(last_git) - if last_start: - info[1].append(last_start) - config_line_num = 0 - config_lines = [] - else: - config_lines.append(line) - elif line.startswith('Git version'): - last_git = format_comment(line_num, line) - elif line.startswith('Start printer at'): - last_start = format_comment(line_num, line) - elif line == '===== Config file =====': - config_line_num = line_num - elif info is not None and ( - ' shutdown: ' in line or line.startswith('Dumping ')): - info[1].append(format_comment(line_num, line)) - # Write found config files - for lines, (count, comments) in configs.items(): - f = open("%s.config%04d.cfg" % (logname, count), 'wb') - f.write('\n'.join(tuple(comments) + lines)) - f.close() - -if __name__ == '__main__': - main() |