Software Freedom Law Center

Changeset 163

Show
Ignore:
Timestamp:
06/25/08 20:24:19 (5 months ago)
Author:
landon
Message:

Upgraded to r2187 of gozerbot, which fixed some module/plugin related problems

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/antimatter/luke/gozerbot/bot.py

    r152 r163  
    5050        self.userchannels = Dol() 
    5151        outmonitor.start() 
     52 
     53    def __str__(self): 
     54        return "name: %s nick: %s server: %s ipv6: %s ssl: %s port:%s" % (self.name, \ 
     55self.nick, self.server, self.ipv6, self.ssl, self.port) 
    5256 
    5357    def _resume(self, data, reto): 
  • trunk/antimatter/luke/gozerbot/botbase.py

    r130 r163  
    8585        pass 
    8686 
    87     def connect(self): 
     87    def connect(self, nick, server, port=6667, password="", ipv6=0, \ 
     88ssl=0, reconnect=True): 
    8889        pass 
    8990 
    9091    def joinchannels(self): 
    9192        pass 
     93 
     94    def connectwithjoin(self, nick, server, port=6667, password="", ipv6=0, \ 
     95ssl=0, reconnect=True): 
     96        self.connect(nick, server, port, password, ipv6, ssl, reconnect) 
     97        self.joinchannels() 
    9298 
    9399    def broadcast(self): 
  • trunk/antimatter/luke/gozerbot/fleet.py

    r130 r163  
    149149                    from gozerbot.bot import Bot 
    150150                    bot = Bot(name, bd[1]) 
    151                 if bot.connect(*bd[2:]): 
    152                     got = True 
     151                start_new_thread(bot.connectwithjoin, bd[2:]) 
     152                got = True 
    153153            elif bd[0] == 'jabber' and config['jabberenable']: 
    154154                bot = self.byname(name) 
     
    156156                    from gozerbot.jabberbot import Jabberbot 
    157157                    bot = Jabberbot(name) 
    158                 if bot.connect(*bd[2:]): 
    159                     got = True 
     158                start_new_thread(bot.connectwithjoin, bd[2:]) 
     159                got = True 
    160160            if got: 
    161161                if bot not in self.bots: 
    162162                    self.bots.append(bot) 
    163                 bot.joinchannels() 
    164163                rlog(10, 'fleet', 'started %s bot' % bot.name) 
    165164            else: 
     
    223222        for i in self.bots: 
    224223            if i.name == name: 
     224                i.exit() 
     225                self.remove(i) 
    225226                try: 
    226227                    del self.botdata.data[name] 
     
    228229                except KeyError: 
    229230                    pass 
    230                 i.exit() 
    231                 self.remove(i) 
    232231                rlog(10, 'fleet', '%s deleted' % i.name) 
    233232                return 1 
  • trunk/antimatter/luke/gozerbot/generic.py

    r152 r163  
    7878        args = ievent.txt.split() 
    7979        (opts, rest) = getopt.getopt(args[1:], optargs, optlist) 
     80        if opts: 
     81             for item in opts: 
     82                 ievent.optionset.append(item[0]) 
    8083        o = dict(options) 
    8184        o.update(dict(opts)) 
  • trunk/antimatter/luke/gozerbot/ircevent.py

    r130 r163  
    6969        self.denied = False 
    7070        self.options = {} 
     71        self.optionset = [] 
    7172        if ievent: 
    7273            self.copyin(ievent) 
     
    109110        self.denied = ievent.denied 
    110111        self.options = dict(ievent.options) 
     112        self.optionset = list(ievent.optionset) 
    111113         
    112114    def __str__(self): 
  • trunk/antimatter/luke/gozerbot/jabbermsg.py

    r152 r163  
    163163        self.speed = 5 
    164164        self.options = {} 
     165        self.optionset = [] 
    165166        self.groups = None 
    166167        self.type = self.getType() 
     
    213214        self.speed = int(jmsg.speed) 
    214215        self.options = dict(jmsg.options) 
     216        self.optionset = list(jmsg.optionset) 
    215217        self.groups = jmsg.groups 
    216218        self.groupchat = jmsg.groupchat 
  • trunk/antimatter/luke/gozerbot/plugins.py

    r152 r163  
    186186        if config['dbenable']: 
    187187            dbplugs = my_import('gozerplugs.dbplugs') 
    188             for i in dbplugs.__all__: 
     188            for i in dbplugs.__plugs__: 
    189189                start_new_thread(self.regplugin, ('gozerplugs.dbplugs', i)) 
    190190                avail.append(i) 
    191191        plugs = my_import('gozerplugs.plugs') 
    192         for i in plugs.__all__: 
     192        for i in plugs.__plugs__: 
    193193            if i not in avail: 
    194194                start_new_thread(self.regplugin, ('gozerplugs.plugs', i)) 
     
    333333            rlog(10, 'plugins', 'db not enabled .. not reloading %s' % \ 
    334334modname)  
    335             return  
     335            return reloaded 
    336336        # unload plugin 
    337337        self.unload(name) 
     
    352352        try: 
    353353            rlog(0, 'plugins', 'calling %s init()' % modname) 
    354             ok = self.plugs[name].init() 
     354            self.plugs[name].init() 
    355355        except (AttributeError, KeyError): 
    356             ok = 1 
    357             pass 
     356            pass 
     357        except Excpetion, ex: 
     358            rlog(10, 'plugins', '%s module init failed' % name) 
     359            raise 
    358360        # enable plugin 
    359361        self.enable(name) 
    360362        self.overload() 
    361         if not ok: 
    362             rlog(10, 'plugins', '%s module init failed' % name) 
    363             return 0 
    364363        rlog(0, 'plugins', 'reloaded plugin %s' % modname) 
    365364        reloaded.append(name) 
  • trunk/antimatter/luke/gozerplugs/dbplugs/__init__.py

    r130 r163  
    1616        __all__.append(i[:-3]) 
    1717__all__.remove('__init__') 
     18__plugs__ = __all__ 
    1819 
    1920del f, tail 
  • trunk/antimatter/luke/gozerplugs/plugs/fleet.py

    r130 r163  
    101101name) 
    102102        return 
     103    if '--port' in ievent.optionset: 
     104        port = ievent.options['--port'] 
    103105    b = Bot(name, config['owneruserhost']) 
    104106    b.nick = nick 
     
    109111    b.ssl = ssl 
    110112    try: 
     113        ievent.reply('adding bot: %s' % str(b)) 
    111114        fleet.addbot(b) 
    112115        fleet.connect(name) 
     
    116119        fleet.delete(b) 
    117120 
    118 cmnds.add('fleet-addirc', handle_fleetaddirc, 'OPER'
     121cmnds.add('fleet-addirc', handle_fleetaddirc, 'OPER',options={'--port': '6667'}
    119122examples.add('fleet-addirc', 'fleet-addirc <name> <nick> <server> [ipv6] \ 
    120123[port] [passwd] .. add new server to fleet', 'fleet-addirc test3 gozertest \ 
     
    152155name) 
    153156        return 
     157    if '--port' in ievent.optionset: 
     158        port = ievent.options['--port'] 
    154159    b = Jabberbot(name) 
    155160    b.host = host 
     
    165170        fleet.delete(b) 
    166171 
    167 cmnds.add('fleet-addjabber', handle_fleetaddjabber, 'OPER') 
     172cmnds.add('fleet-addjabber', handle_fleetaddjabber, 'OPER', options={'--port':\ 
     173 '5222'}) 
    168174examples.add('fleet-addjabber', 'fleet-addjabber <name> <host> <user> \ 
    169175<passwd> [<port>] .. add new jabber server to fleet', 'fleet-addjabber test2 \ 
  • trunk/antimatter/luke/gozerplugs/plugs/reload.py

    r143 r163  
    3131        # first check myplugs then dbplugs and finally plugs dir 
    3232        got = [] 
    33         base = 'myplugs' + os.sep + plug 
     33        base = 'myplugs' + os.sep + plug.replace('.','/') 
    3434        if os.path.isfile(base + '.py'): 
    3535            got = plugins.reload('myplugs', plug) 
    3636        elif os.path.isdir(base): 
    37             root = 'myplugs.' + plug 
    38             my_import(root) 
    39             myplugs = my_import(root + '.__init__') 
    40             for p in myplugs.__all__: 
    41                 got.extend(plugins.reload(root, p)) 
     37            got.extend(plugins.reload('myplugs', plug)) 
     38            for p in plugins[plug].__plugs__: 
     39                got.extend(plugins.reload('myplugs.' + plug, p)) 
    4240        else: 
    4341            if config['dbenable']: 
    4442                dbplugs = my_import('gozerplugs.dbplugs.__init__') 
    45                 if plug in dbplugs.__all__: 
     43                if plug in dbplugs.__plugs__: 
    4644                    got = plugins.reload('gozerplugs.dbplugs', plug) 
    4745        if not got: 
    4846            plugs = my_import('gozerplugs.plugs.__init__') 
    49             if plug in plugs.__all__: 
     47            if plug in plugs.__plugs__: 
    5048                got = plugins.reload('gozerplugs.plugs', plug) 
    5149        if got: 
     
    6866        ievent.reply('there is no %s module' % what) 
    6967        return 
     68    got = [] 
     69    try: 
     70       for p in plugins[what].__plugs__: 
     71           plugins.unload(p) 
     72           got.append(p) 
     73    except (AttributeError, KeyError): 
     74        pass        
    7075    if plugins.unload(what): 
    7176        plugins.disable(what) 
    72         ievent.reply("%s unloaded and disabled" % what) 
    73     else: 
    74         ievent.reply("%s unload failed" % what) 
     77        got.append(what) 
     78    ievent.reply("%s unloaded and disabled" % ' .. '.join(got)) 
    7579 
    7680cmnds.add('unload', handle_unload, 'OPER') 
  • trunk/antimatter/luke/gozerplugs/plugs/__init__.py

    r130 r163  
    1 # gozerbot package 
     1# gozerbot basic plugins 
    22# 
    33# 
     
    1818        __all__.append(i) 
    1919__all__.remove('__init__') 
     20__plugs__ = __all__ 
    2021 
    2122del f, tail 
  • trunk/antimatter/luke/myplugs/libtracker/timeparser.py

    r161 r163  
    22 
    33import re 
    4 from datetime import timedelta, date 
     4import datetime as dt 
    55 
    66from myplugs.libtracker.dateutil.parser import parse 
    77from myplugs.libtracker.dateutil.relativedelta import relativedelta 
    88 
    9 class TimeAdjustment(timedelta): 
     9class TimeAdjustment(dt.timedelta): 
    1010 
    11     adj_date = date.today() 
     11    adj_date = dt.datetime.today() 
    1212    start = 0 
    1313    end = 0 
     
    3535def msgparse(ievent): 
    3636    """ The main `parser` 
    37     INPUT: Ircevent """ 
     37    INPUT: Ircevent 
     38    OUTPUT: TimeAdjustment 
     39    """ 
    3840    #First Type: 5 hours (assumed current day) 
    3941    #Second Type: 1 AM to 5 PM 
    4042    #Third Type: ON Sunday: 5 hours or so 
    4143    #Fourth Type: ON Sunday: 1 AM to 5 PM 
    42     setdate = re.findall(r"on (\b\w+\b).?:", ievent.txt, re.I) 
     44    setdate = re.findall(r"^on (\b\w+\b).?[,:](.*)", ievent.txt, re.I) 
    4345    if (setdate): 
     46        setdate = setdate[0] 
    4447        day = setdate[0] 
    45         adjustment = timedelta(days=0) 
    46         weekdays = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'] 
    47         if (day in weekdays): 
    48             adjustment = timedelta(days=7) 
     48        time = setdate[1] 
     49        adjustment = dt.timedelta(days=0) 
     50        weekdays = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'] 
     51        if (day.lower() in weekdays): 
     52            adjustment = dt.timedelta(days=7) 
    4953        date = parse(day, fuzzy = True) - adjustment 
    50         reply = "Day to be used: " + date.ctime() 
     54        time = repr(relativedelta(parse(time, fuzzy = True), dt.date.today())) 
     55        reply = "Worked on: " + date.ctime() + " for " + time 
    5156        ievent.reply(reply) 
  • trunk/antimatter/luke/myplugs/libtracker/__init__.py

    r162 r163  
     1__plugs__ = ['timeparser', 'auth', 'user', 'tracker'] 
  • trunk/antimatter/luke/myplugs/__init__.py

    r130 r163  
     1 

SFLC Main Page

[frdm] Support SFLC