pvl.verkko-dhcp: updated pvl.syslog, untested
authorTero Marttila <terom@fixme.fi>
Fri, 04 Jan 2013 21:35:08 +0200
changeset 64 f5f767bf4887
parent 63 510a9a944f5a
child 65 be2b407c06ff
pvl.verkko-dhcp: updated pvl.syslog, untested
bin/pvl.verkko-dhcp
--- a/bin/pvl.verkko-dhcp	Fri Jan 04 21:34:11 2013 +0200
+++ b/bin/pvl.verkko-dhcp	Fri Jan 04 21:35:08 2013 +0200
@@ -349,13 +349,11 @@
             TODO: poll = false on SIGINT
         """
         
-        parser = pvl.syslog.parser.SyslogParser()
-        
         # mainloop
         while True :
             if self.syslog :
                 # process from source
-                for item in parser.process(self.syslog) :
+                for item in self.syslog :
                     self.process_syslog(item)
             
             if self.leases :
@@ -370,14 +368,16 @@
                 #else :
                 #    pass
 
-            if poll is False :
+            if not poll :
                 # done
                 break
+
             elif self.syslog :
                 # wait
                 self.syslog.poll(poll)
+
             else :
-                # XXX
+                # XXX: for --leases-tail
                 time.sleep(poll)
 
             log.debug("tick")
@@ -395,26 +395,13 @@
    
     # syslog
     log.info("Open up syslog...")
-    syslog_parser = pvl.syslog.parser.SyslogParser(prog=DHCP_SYSLOG_PROG) # filter by prog
-
-    if options.syslog_fifo :
-        syslog = pvl.syslog.fifo.Fifo(options.syslog_fifo)
-        poll = None # no timeout
+    syslog = pvl.syslog.args.apply(options, optional=True)
 
-    elif options.syslog_tail :
-        # continuous file tail
-        syslog = pvl.syslog.tail.TailFile(options.syslog_file)
-        poll = options.syslog_tail # polling interval
-
-    elif options.syslog_file :
-        # one-shot file read
-        syslog = pvl.syslog.tail.TailFile(options.syslog_file)
-        poll = False # do not poll-loop
-
+    if syslog :
+        poll = syslog._poll
     else :
-        syslog = None
-        poll = False
         log.warning("No syslog source given")
+        poll = None
 
     # leases
     if options.leases_file :