From 0c176afccbe18eee09fbf7e67966b6a53c5b4420 Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Mon, 2 Feb 2009 23:43:32 +0100 Subject: tools/trace: * Change python indentation. * Added a stop condition on reading traces. --- tools/trace/tcreator/tcreator.py | 32 ++++++------ tools/trace/tinter/tinter.py | 102 +++++++++++++++++++++------------------ tools/trace/trace.py | 64 ++++++++++++------------ 3 files changed, 102 insertions(+), 96 deletions(-) diff --git a/tools/trace/tcreator/tcreator.py b/tools/trace/tcreator/tcreator.py index e0624259..be771afb 100644 --- a/tools/trace/tcreator/tcreator.py +++ b/tools/trace/tcreator/tcreator.py @@ -2,26 +2,26 @@ import sys from writer import * try: - from lib.parser import * + from lib.parser import * except: - print "--> You should run yapps on lib/parser.g" + print "--> You should run yapps on lib/parser.g" class TCreator: - def __init__(self, infile, outfile, enum_name = "trace_id_t"): - self.__infile = infile - self.__outfile = outfile - self.__enum_name = enum_name + def __init__(self, infile, outfile, enum_name = "trace_id_t"): + self.__infile = infile + self.__outfile = outfile + self.__enum_name = enum_name - def create (self): - infile = open (self.__infile, 'r') - data = parse ('parser', infile.read()) - infile.close() + def create (self): + infile = open (self.__infile, 'r') + data = parse ('parser', infile.read()) + infile.close() - w = Writer (self.__outfile, self.__enum_name) - outstring = w.parse_list (data) + w = Writer (self.__outfile, self.__enum_name) + outstring = w.parse_list (data) - if self.__outfile != "": - w.write_file (outstring) - else: - w.print_file (outstring) + if self.__outfile != "": + w.write_file (outstring) + else: + w.print_file (outstring) diff --git a/tools/trace/tinter/tinter.py b/tools/trace/tinter/tinter.py index 8f368519..ecf99696 100644 --- a/tools/trace/tinter/tinter.py +++ b/tools/trace/tinter/tinter.py @@ -2,55 +2,61 @@ import sys from thost import * try: - from lib.parser import * + from lib.parser import * except: - print "--> You should run yapps on lib/parser.g" + print "--> You should run yapps on lib/parser.g" class TInter: - def __init__(self, infile): - self.__infile = infile - self.__events = None - - def __events_get (self): - infile = open (self.__infile, 'r') - events = parse ('parser', infile.read()) - infile.close() - return events - - def __event_print (self, events, memory): - if len(memory) > 0: - cmd = int (memory[0:2], 16) - e = events[cmd] - string = e.string_get() - memory = memory[2:len(memory)] - for i in range (0, e.param_nb()): - p = e.param_get(i) - size = p.length() * 2 - val = memory[0:size] - memory = memory[size:len(memory)] - string = string.replace('%d', str(int(val, 16)), 1) - return [memory, string] - - def __get_last_trace (self, data): - while len (data): - memory = data.split('f33ff22f') - memory = memory[len(memory) - 1] - return memory - - def trace_print (self, file=None): - events = self.__events_get () - - if file == None: - memory = thost_dump_memory() - else: - file = open (file, 'r') - memory = file.read() - file.close() - memory = self.__get_last_trace (memory) - - while len(memory) > 0: - data = self.__event_print(events, memory) - string = data[1] - memory = data[0] - print string[1:len(string)-1] + def __init__(self, infile): + self.__infile = infile + self.__events = None + + def __events_get (self): + infile = open (self.__infile, 'r') + events = parse ('parser', infile.read()) + infile.close() + return events + + def __event_print (self, events, memory): + if len(memory) > 0: + cmd = int (memory[0:2], 16) + if cmd < len(events) - 1: + e = events[cmd] + string = e.string_get() + memory = memory[2:len(memory)] + for i in range (0, e.param_nb()): + p = e.param_get(i) + size = p.length() * 2 + val = memory[0:size] + memory = memory[size:len(memory)] + string = string.replace('%d', str(int(val, 16)), 1) + return [memory, string] + else: + return None + + def __get_last_trace (self, data): + while len (data): + memory = data.split('f33ff22f') + memory = memory[len(memory) - 1] + return memory + + def trace_print (self, file=None): + events = self.__events_get () + + if file == None: + memory = thost_dump_memory() + else: + file = open (file, 'r') + memory = file.read() + file.close() + memory = self.__get_last_trace (memory) + + while len(memory) > 0: + data = self.__event_print(events, memory) + if data != None: + string = data[1] + memory = data[0] + print string[1:len(string)-1] + else: + memory = "" diff --git a/tools/trace/trace.py b/tools/trace/trace.py index 819bd0ba..86bffb35 100644 --- a/tools/trace/trace.py +++ b/tools/trace/trace.py @@ -5,41 +5,41 @@ from tcreator.tcreator import * from tinter.tinter import * def create_parse_args(list = None): - infile = "" - outfile = "" - enum_name = "" - if list == None: - return None - else: - for i in range (0, len(list)): - if list[i] == "-e": - enum_name = list[i+1] - if list[i] == "-o": - outfile = list[i+1] - else: - infile = list[i] - return [infile, outfile, enum_name] + infile = "" + outfile = "" + enum_name = "" + if list == None: + return None + else: + for i in range (0, len(list)): + if list[i] == "-e": + enum_name = list[i+1] + if list[i] == "-o": + outfile = list[i+1] + else: + infile = list[i] + return [infile, outfile, enum_name] print "Trace System v1.0 by APBTeam\n" if len(sys.argv) > 1: - argc = len(sys.argv) - if sys.argv[1] == "create": - if (argc >= 2) and (argc <= 7): - data = create_parse_args(sys.argv) - cre = TCreator (data[0], data[1], data[2]) - cre.create () - else: - raise Exception ("Not enough arguments") - if sys.argv[1] == "inter": - if argc >= 2: - inter = TInter (sys.argv[2]) - if argc == 2: - inter.trace_print(None) - else: - inter.trace_print(sys.argv[3]) - else: - raise Exception ("Not enough arguments") + argc = len(sys.argv) + if sys.argv[1] == "create": + if (argc >= 2) and (argc <= 7): + data = create_parse_args(sys.argv) + cre = TCreator (data[0], data[1], data[2]) + cre.create () + else: + raise Exception ("Not enough arguments") + if sys.argv[1] == "inter": + if argc >= 2: + inter = TInter (sys.argv[2]) + if argc == 2: + inter.trace_print(None) + else: + inter.trace_print(sys.argv[3]) + else: + raise Exception ("Not enough arguments") else: - raise Exception ("Not enough arguments") + raise Exception ("Not enough arguments") -- cgit v1.2.3