# HG changeset patch # User Tero Marttila # Date 1265399294 -7200 # Node ID 31a17b0b515918fde1d25b0e248af7753f23b42d # Parent 31e7421e98af93f07f8e2fd35a8384e0264ba62d remove concept of event_types, the event.type is now just sent as a string diff -r 31e7421e98af -r 31a17b0b5159 etc/fixbot-logwatch.py --- a/etc/fixbot-logwatch.py Fri Feb 05 21:39:51 2010 +0200 +++ b/etc/fixbot-logwatch.py Fri Feb 05 21:48:14 2010 +0200 @@ -19,6 +19,9 @@ filters.all, )), UnixDatagramSocket("test", os.path.join(logwatch_dir, "test.sock"), ( + filters.sudo, + filters.ssh, + filters.cron_killer, filters.all, )), ) diff -r 31e7421e98af -r 31a17b0b5159 fixbot/api.py --- a/fixbot/api.py Fri Feb 05 21:39:51 2010 +0200 +++ b/fixbot/api.py Fri Feb 05 21:48:14 2010 +0200 @@ -14,14 +14,11 @@ # module's name name = None - # list of valid event types (strings) - event_types = None - def __str__ (self) : return "Module %s:" % (self.name) def __repr__ (self) : - return "" % (self.name, ", ".join(self.event_types)) + return "" % (self.name, ) class Event (object) : # the ModuleInfo object @@ -30,15 +27,13 @@ # the event type as a string type = None - # event message as a string (under 255 bytes in length!) + # event message as a string (up to 64k, although that won't fit onto IRC..) msg = None # timestamp as a datetime.datetime when = None def __init__ (self, module, type, msg) : - assert type in module.event_types, "Invalid event-type %s for %r" % (type, self.module) - self.module = module self.type = type self.msg = msg @@ -99,7 +94,6 @@ m = ModuleInfo() m.name = i.readVarLen('B') - m.event_types = list(buffer.readStringStream(i, 'B')) m.addr = self.transport.getPeer() log.msg("Got mod_init for %r" % m) @@ -115,7 +109,7 @@ def on_module_event (self, i) : self._assert(self.module, "module_event with None self.module!") - event_type = i.readEnum(self.module.event_types) + event_type = i.readVarLen('B') event_msg = i.readVarLen('H') e = Event(self.module, event_type, event_msg) @@ -138,13 +132,12 @@ o = self.startCommand('module_init') o.writeVarLen('B', self.factory.secret) o.writeVarLen('B', self.factory.name) - buffer.writeStringStream(o, 'B', self.factory.event_types) self.send(o) def sendEvent (self, event) : o = self.startCommand('module_event') - o.writeEnum(self.factory.event_types, event.type) + o.writeVarLen('B', event.type) o.writeVarLen('H', event.msg[:2**16]) self.send(o) diff -r 31e7421e98af -r 31a17b0b5159 fixbot/example.py --- a/fixbot/example.py Fri Feb 05 21:39:51 2010 +0200 +++ b/fixbot/example.py Fri Feb 05 21:48:14 2010 +0200 @@ -8,10 +8,6 @@ name = "example" version = 0x0001 - event_types = [ - "example" - ] - def handleConnect (self) : self.sendEvent("example", "this is an example event") self.disconnect() diff -r 31e7421e98af -r 31a17b0b5159 fixbot/irc.py --- a/fixbot/irc.py Fri Feb 05 21:39:51 2010 +0200 +++ b/fixbot/irc.py Fri Feb 05 21:48:14 2010 +0200 @@ -112,7 +112,7 @@ try : module, addr = self.nexus.getModuleInfo(cmd) - return "%s from %s. Events: %s. See `commands %s' for a list of commands" % (module.name, addr, ', '.join(module.event_types), module.name) + return "%s from %s. See `commands %s' for a list of commands" % (module.name, addr, module.name) except KeyError : raise ReplyException("No command/module called `%s'. See `help commands'" % cmd) diff -r 31e7421e98af -r 31a17b0b5159 fixbot/logwatch/__init__.py --- a/fixbot/logwatch/__init__.py Fri Feb 05 21:39:51 2010 +0200 +++ b/fixbot/logwatch/__init__.py Fri Feb 05 21:48:14 2010 +0200 @@ -8,13 +8,6 @@ class LogWatchModule (api.Module) : name = "logs" - event_types = [ - "error", - "sudo", - "ssh", - "all" - ] - def __init__ (self, config) : """ Initialize with logwatch_sources from config diff -r 31e7421e98af -r 31a17b0b5159 fixbot/utmp.py --- a/fixbot/utmp.py Fri Feb 05 21:39:51 2010 +0200 +++ b/fixbot/utmp.py Fri Feb 05 21:48:14 2010 +0200 @@ -94,10 +94,6 @@ name = "wtmp" version = 0x0001 - event_types = [ - "wtmp", - ] - def handleConnect (self) : log.msg("Following default wtmp file...")