def openFile(self, filename): if not os.path.exists(filename): raise IOError, filename f = open(filename) rdesc = None events = [] file_content = [] original_rdesc = None for line in f.readlines(): if line.startswith("R:"): rdesc = parse_rdesc.parse_rdesc(line.lstrip("R: "), None) if not rdesc: raise IOError, filename rdesc = self.update_rdesc(rdesc) else: file_content.append(line.strip()) if line.startswith("E:") or line.startswith("#"): events.append(line.strip()) elif line.startswith("O:"): original_rdesc = parse_rdesc.parse_rdesc(line.lstrip("O: "), None) f.close() # everything went fine, store the new configuration self.filename = filename if not original_rdesc: original_rdesc = self.rdesc self.original_rdesc = original_rdesc self.events = events self.file_content = file_content self.redraw() self.redrawRaw()
def openFile(self, filename): if not os.path.exists(filename): raise IOError, filename f = open(filename) rdesc = None events = [] file_content = [] original_rdesc = None for line in f.readlines(): if line.startswith("R:"): rdesc = parse_rdesc.parse_rdesc(line.lstrip("R: "), None) if not rdesc: raise IOError, filename rdesc = self.update_rdesc(rdesc) else: file_content.append(line.strip()) if line.startswith("E:") or line.startswith("#"): events.append(line.strip()) elif line.startswith("O:"): original_rdesc = parse_rdesc.parse_rdesc( line.lstrip("O: "), None) f.close() # everything went fine, store the new configuration self.filename = filename if not original_rdesc: original_rdesc = self.rdesc self.original_rdesc = original_rdesc self.events = events self.file_content = file_content self.redraw() self.redrawRaw()
def parse_hid(f_in, f_out): r = None rdesc_dict = {} rdesc = None maybe_numbered = False while True: try: line = f_in.readline() except KeyboardInterrupt: break if line.startswith("R:"): rdesc_object = parse_rdesc.parse_rdesc(line.lstrip("R: "), f_out) rdesc = rdesc_object.reports win8 = rdesc_object.win8 for k in rdesc.keys(): if len(rdesc[k][0]): if k == -1: maybe_numbered = True key = build_rkey(k, rdesc[k][1]) rdesc_dict[key] = rdesc[k][0] if win8: f_out.write("**** win 8 certified ****\n") elif line.startswith("E:"): dump_report(line, rdesc, rdesc_dict, maybe_numbered, f_out) elif line == '': # End of file break elif line.startswith("N:") or \ line.startswith("P:") or \ line.startswith("I:"): continue else: f_out.write(line)
def dump_rdesc(self, data, prefix): if len(prefix) > 1: raise Exception, "Invalid prefix: %s"%prefix rdesc = parse_rdesc.parse_rdesc(data, None) if not rdesc: raise IOError self.write(struct.pack('c', prefix)) self.write(struct.pack('i', rdesc.size())) for b in rdesc.data(): self.write(struct.pack('B', b))