ReadStupiedLogFile.py
ReadStupiedLogFile.py
This file can be used by TextPad to parse the stupid log file to make traceback messages clickable.
It keeps track on the last parsed row, and only shows new error messages.
See the Textpad tooltips howto on how to set up TextPad to use this script.
# $Header: Exp $
#
# (c) 2002, Torped Strategi och Kommunikation AB.
# See GPL.txt for License information.
#
import sys
stdout = sys.stdout
stupid_log_file="C:\EasyPublisher17\slf.log"
stdout.write("Arguments used:\n")
for arg in sys.argv[1:]:
arg = arg.split('=')
if len(arg)==2:
key, value=arg
key=key.strip()
value=value.strip()
if key.lower()=='stupid_log_file':
stupid_log_file=value
stdout.write("Key %s, Value: %s\n" % (key,value))
stdout.write("============================================================\n")
start_row=0
old_row=0
try:
slf_ptr = open("slf_pointer","r")
start_row=int(slf_ptr.readline())
old_row=int(slf_ptr.readline())
slf_ptr.close()
except:
pass
slf = open(stupid_log_file,"r")
row=0
row_value = slf.readline()
while row_value:
if row>=start_row:
stdout.write(row_value)
row+=1
row_value = slf.readline()
slf.close()
if row==start_row:
stdout.write("No new output, listing old\n")
stdout.write("==========================\n\n")
slf = open(stupid_log_file,"r")
row=0
row_value = slf.readline()
while row_value:
if row>=old_row:
stdout.write(row_value)
row+=1
row_value = slf.readline()
slf.close()
else:
old_row=start_row
slf_ptr = open("slf_pointer","w")
slf_ptr.write(str(row)+"\n")
slf_ptr.write(str(old_row)+"\n")
slf_ptr.close()