![]() |
source: http://home-gym-fitness-equipment.co.uk/files/log-book.jpg |
This is the second lucky month that the Empathy icon lies on the top gnome-panel of my desktop. Well it is... let's say ok when compared with Pidgin. I love see Empathy developers add the buddy pounce function too. It was after the fresh F13 installation that I tried to give Empathy a try. It was pre-packaged with the the system (formerly it was Pidgin) and most importantly Open Source is all about Choice.
Empathy, as Pidgin does keeps a log of all the conversations we had via Empathy. Yeah, this can be deactivated also. The chat files of Empathy resides in ~/.local/share/Empathy/logs and I found them to be a little messy. They include all the technical data and other stuff and it makes us hard to find the messages. So I though to get it to a more human friendly and readable format and wrote the following python code. This for me works fine, and if there are any bugs, suggestions to improve, please leave a comment.
#!/usr/bin/python2.6 # # W.H. Kalpa Pathum <callkalpa@gmail.com> # 6th August, 2010 # # empathy_log.py # This script formats a empathy log file in a more human readable way # usage : empathy_log <empathy log file> # import re import sys msg_d = '' def print_output(message_data): global msg_d # print the conversation date if msg_d != message_data[0]: msg_d = message_data[0] print 'Conversation with', message_data[2], 'on', msg_d print '('+ message_data[1]+ ')', message_data[2], ':', message_data[3] def main(filename): f = open(filename, 'r') # read line by line and extract message details lines = f.readlines() for line in lines[3:-1]: # except first three lines and last line match = re.findall('^<message time=\'(\d+)T([\d:]+)\' [\w\W]+ name=\'([\w\W]+)\' token=[\w\W]+>([\w\W]+)<', line) if match: for item in match: # format msg_d d=item[0][:4] + '-' + item[0][4:6] + '-' + item[0][6:] message_data = [d, item[1], item[2], item[3]] print_output(message_data) # if the pattern is not found, print the modified line else: print re.sub('<[/message][\w\W]*>', '', line), f.close() if __name__ == '__main__': main(sys.argv[1])
DOWNLOAD
Or, you could just use the Empathy log viewer :)
ReplyDeleteyep now it has that feature.
ReplyDeleteThis was useful to me, as I wanted to print one of my logs. thanks.
ReplyDelete