] def backupParse(s): global parseStrings for fmt in parseStrings: try: return datetime.datetime.strptime(s,fmt) except:pass return None try: import parsedatetime.parsedatetime as pdt import parsedatetime.parsedatetime_consts as pdc c = pdc.Constants() p = pdt.Calendar(c) parser = lambda s:datetime.datetime(*p.parse(s)[0][:6]) log.debug("Using parsedatetime") except: parser = backupParse log.debug("Using backup parser") try: import cPickle as pickle log.debug("Using cPickle") except: import pickle log.debug("Using pickle.") def saveAlarms(alarms): try: log.debug("Saving alarms",storeFile,alarms)
from Configuration import ConfigFile from Logging import LogFile from twisted.words.protocols import irc from twisted.internet import protocol,reactor import sys,traceback #these events get given to plugins to give back to the the ircconnector log = LogFile("IRCConnector") log.debug("Connector imported") class IRCConnectorEvents: def __init__(self): pass def join(self,channel, key=None): return "join",channel,key def part(self,channel, message=None): return "part",channel,messages def kick(self,channel, user, message=None): return "kick",channel,user,message def topic(self,channel, message=None): return "topic",channel,message def say(self, channel, message, length=None): return "say",channel,message,1024 def msg(self, user, message, length=None): return "msg",user,message,1024 def notice(self,user, message): return "notice",user, message def away(self,message=""): return "away",message def back(self): return "back" def setNick(self,nickname):
log.debug("Starting") log.debug("Auto loading plugins") self._PluginManager.AutoLoad() log.debug("Auto load complete") if self._Connector: log.debug("Connector starting") self._Connector.Start() #else log error? def Stop(self): log.debug("Stopping") if self._PluginDispatcher: self._PluginDispatcher.Stop() if self._PluginManager: self._PluginManager.Stop() if self._Connector: self._Connector.Stop() if __name__=="__main__": try: c = Core() try: c.Start() except Exception as e: log.error(e) raise c.Stop() except Exception as e: log.error(e) raise log.debug("End of core")
import sys import traceback from Configuration import ConfigFile from Logging import LogFile from twisted.words.protocols import irc from twisted.internet import protocol, reactor #these events get given to plugins to give back to the the ircconnector log = LogFile("IRCConnector") log.debug("Connector imported") class IRCConnectorEvents: def __init__(self): pass def join(self, channel, key=None): return "join", channel, key def part(self, channel, message=None): return "part", channel, messages def kick(self, channel, user, message=None): return "kick", channel, user, message def topic(self, channel, message=None): return "topic", channel, message def say(self, channel, message, length=None): return "say", channel, message, 1024 def msg(self, user, message, length=None):
from Hook import bindFunction, requires, prefers from Logging import LogFile log = LogFile("GD") log.debug("Log start") import sys @requires("Google") @prefers("Colors") class Google_Define: @bindFunction(message="!gd (?P<term>[a-zA-Z ]+) ?(?P<definition>\d*)") def g_define(self, term, response, target, colorize, gdefine, definition): log.debug("g_define",term, response, target, colorize, gdefine, definition) d = gdefine(term.strip().replace(' ', '+'), definition) if colorize: return response.msg(target, colorize( "<{C3}Google Define{}: %s [{B}%s{} of %s]>" % d)) else: return response.msg(target, "<Google Define: %s [%s of %s]>" % d)
global parseStrings for fmt in parseStrings: try: return datetime.datetime.strptime(s, fmt) except: pass return None try: import parsedatetime.parsedatetime as pdt import parsedatetime.parsedatetime_consts as pdc c = pdc.Constants() p = pdt.Calendar(c) parser = lambda s: datetime.datetime(*p.parse(s)[0][:6]) log.debug("Using parsedatetime") except: parser = backupParse log.debug("Using backup parser") try: import cPickle as pickle log.debug("Using cPickle") except: import pickle log.debug("Using pickle.") def saveAlarms(alarms): try: log.debug("Saving alarms", storeFile, alarms)
from Hook import bindFunction, requires, prefers from Logging import LogFile log = LogFile("GD") log.debug("Log start") import sys @requires("Google") @prefers("Colors") class Google_Define: @bindFunction(message="!gd (?P<term>[a-zA-Z ]+) ?(?P<definition>\d*)") def g_define(self, term, response, target, colorize, gdefine, definition): log.debug("g_define", term, response, target, colorize, gdefine, definition) d = gdefine(term.strip().replace(' ', '+'), definition) if colorize: return response.msg( target, colorize("<{C3}Google Define{}: %s [{B}%s{} of %s]>" % d)) else: return response.msg(target, "<Google Define: %s [%s of %s]>" % d)
from Hook import * parser = None from Logging import LogFile log = LogFile("Seen") import datetime storeFile = "SeenStore.pkl" try: import cPickle as pickle log.debug("Using cPickle") except: import pickle log.debug("Using pickle.") def now(): return datetime.datetime.now().strftime("%H:%M:%S") def saveState(state): try: pickle.dump(state,file(storeFile,"w")) except: log.exception("Failed to store pickle.") def loadState(): try: return pickle.load(file(storeFile)) except: log.exception("Failed to load pickle") return None
from Hook import * parser = None from Logging import LogFile log = LogFile("Seen") import datetime storeFile = "SeenStore.pkl" try: import cPickle as pickle log.debug("Using cPickle") except: import pickle log.debug("Using pickle.") def now(): return datetime.datetime.now().strftime("%H:%M:%S") def saveState(state): try: pickle.dump(state, file(storeFile, "w")) except: log.exception("Failed to store pickle.") def loadState(): try: return pickle.load(file(storeFile)) except: log.exception("Failed to load pickle")