rendered paste body#!/usr/bin/env python## h3x, an IRC bot written in Python# logger.pyimport osimport stringimport timedays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']months = ['Jan' , 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']def evalTime(position): if time.localtime()[position] < 10: return '0%s' % time.localtime()[position] else: return time.localtime()[position] def addLog(raw): loctime = '[%s:%s]' % (evalTime(3), evalTime(4)) ext = '%s%s%s' % (time.localtime()[0], evalTime(1), evalTime(2)) praw = string.split(raw) logname = 'logs/rilinux.log.%s' % (ext) nick = raw.split(":",1)[1].split("!",1)[0] try: ident = raw.split("!",1)[1].split()[0] except: pass if praw[1] == 'PRIVMSG' and praw[2].startswith('#') and not raw.split(':',2)[2].startswith('ACTION'): line = '%s <%s> %s' % (loctime, nick, raw.split(':',2)[2]) elif praw[1] == 'NICK': line = '%s Nick change: %s -> %s' % (loctime, nick, raw.split(':',2)[2]) elif praw[1] == 'QUIT': line = '%s %s (%s) left irc: %s' % (loctime, nick, ident, raw.split(':',2)[2]) elif praw[1] == 'JOIN': line = '%s %s (%s) joined %s.\n' % (loctime, nick, ident, raw.split(':',2)[2].strip()) elif praw[1] == 'KICK': line = '%s %s kicked from %s by %s :%s' % (loctime, praw[3], praw[2], nick, raw.split(':',2)[2]) elif praw[1] == 'MODE': line = '%s %s: mode change \'%s %s\' by %s!%s\n' % (loctime, praw[2], praw[3], praw[4], nick, ident) elif praw[1] == 'PART': line = '%s %s (%s) left %s.\n' % (loctime, nick, ident, praw[2]) elif praw[1] == 'TOPIC': line = '%s Topic changed on %s by %s!%s: %s' % (loctime, praw[2], nick, ident, raw.split(':',2)[2]) elif praw[1] == 'PRIVMSG' and praw[2].startswith('#') and raw.split(':',2)[2].startswith('ACTION'): line = '%s Action: %s%s' % (loctime, nick, raw.split('ACTION',1)[1]) else: line = None writeLog(logname, line) def writeLog(logname, line): if not os.path.isfile(logname) and line is not None: Today = '%s %s %s %s' % (days[time.localtime()[6]], months[time.localtime()[1]], time.localtime()[2], time.localtime()[0]) first_line = '[00:00] --- %s' % Today logfile = open(logname, 'w') logfile.write(first_line+'\n') logfile.write(line) logfile.close() elif line is not None: from dynrw import Write Write(logname, line)