diff -r caed0ed82709 -r 9326ed989645 pvl/syslog/syslog.py --- a/pvl/syslog/syslog.py Fri Jan 04 21:26:39 2013 +0200 +++ b/pvl/syslog/syslog.py Fri Jan 04 21:27:17 2013 +0200 @@ -14,19 +14,27 @@ select():able source. """ - def __init__ (self, syslog, source, poll=None) : + def __init__ (self, source, parser, filter, poll=None) : """ Using given underlying line source. - syslog - iterable source - source to select() if poll=True poll - polling behaviour """ - self.syslog = syslog self.source = source + self.parser = parser + self.filter = filter + self._poll = poll + def syslog (self) : + """ + Yield available input. + """ + + return self.filter(self.parser(self.source)) + def poll (self, poll=None) : """ Poll our source for input, with given polling behaviour: @@ -81,7 +89,7 @@ # mainloop while True : # pull in messages - for item in self.syslog : + for item in self.syslog() : log.debug("%s", item) yield item @@ -95,4 +103,3 @@ log.debug("exit") - __iter__ = main