diff --git a/plugins/logger/logger.py b/plugins/logger/logger.py new file mode 100644 index 000000000..02a2b130d --- /dev/null +++ b/plugins/logger/logger.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python +## plugins/logger.py +## +## Gajim Team: +## - Yann Le Boulanger +## - Vincent Hanquez +## - David Ferlier +## +## Copyright (C) 2003 Gajim Team +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published +## by the Free Software Foundation; version 2 only. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## + +import os +import string +import time +import common.optparser +CONFPATH = "~/.gajimrc" +LOGPATH = os.path.expanduser("~/.gajim/logs/") + +class plugin: + def read_queue(self): + while 1: + while self.queueIN.empty() == 0: + lognotsep = self.cfgParser.Logger_lognotsep + if lognotsep: + lognotsep = string.atoi(lognotsep) + else: + #default + lognotsep = 1 + lognotusr = self.cfgParser.Logger_lognotusr + if lognotusr: + lognotusr = string.atoi(lognotusr) + else: + #default + lognotusr = 1 +# tim = time.strftime("%d%m%y%H%M%S") + tim = time.time() + + ev = self.queueIN.get() + if ev[0] == 'QUIT': + return + elif ev[0] == 'NOTIFY': + status = ev[1][2] + if not status: + status = "" + if lognotsep == 1: + fic = open(LOGPATH + "notify.log", "a") + fic.write("%s:%s:%s:%s\n" % (tim, ev[1][0], \ + ev[1][1], status)) + fic.close() + if lognotusr == 1: + fic = open(LOGPATH + ev[1][0], "a") + fic.write("%s:%s:%s:%s\n" % (tim, ev[1][0], \ + ev[1][1], status)) + fic.close() + elif ev[0] == 'MSG': + fic = open(LOGPATH + ev[1][0], "a") + fic.write("%s:recv:%s\n" % (tim, ev[1][1])) + fic.close() + elif ev[0] == 'MSGSENT': + fic = open(LOGPATH + ev[1][0], "a") + fic.write("%s:sent:%s\n" % (tim, ev[1][1])) + fic.close() + time.sleep(0.5) + + def __init__(self, quIN, quOUT): + self.cfgParser = common.optparser.OptionsParser(CONFPATH) + self.cfgParser.parseCfgFile() + self.queueIN = quIN + self.queueOUT = quOUT + #create ~/.gajim/logs if it doesn't exist + try: + os.stat(os.path.expanduser("~/.gajim")) + except OSError: + os.mkdir(os.path.expanduser("~/.gajim")) + print "creating ~/.gajim/" + try: + os.stat(LOGPATH) + except OSError: + os.mkdir(LOGPATH) + print "creating ~/.gajim/logs/" + self.read_queue() + + +if __name__ == "__main__": + plugin(None, None) + +print "plugin logger loaded"