Example #1
0
	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()
Example #2
0
 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()
Example #3
0
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)
Example #4
0
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)
Example #5
0
	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))