--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/pvl.irker-syslog Fri Jan 11 22:41:53 2013 +0200
@@ -0,0 +1,100 @@
+#!/usr/bin/env python
+
+"""
+ Syslog -> Irk
+"""
+
+__version__ = '0.0'
+
+import pvl.args
+import pvl.syslog.args
+import pvl.syslog.rule
+import pvl.irk
+
+import logging, optparse
+
+log = logging.getLogger('main')
+
+def parse_options (argv) :
+ """
+ Parse command-line arguments.
+ """
+
+ prog = argv[0]
+
+ parser = optparse.OptionParser(
+ prog = prog,
+ usage = '%prog: [options]',
+ version = __version__,
+
+ # module docstring
+ description = __doc__,
+ )
+
+ # options
+ parser.add_option_group(pvl.args.parser(parser))
+
+ # input
+ parser.add_option_group(pvl.syslog.args.parser(parser))
+ parser.add_option_group(pvl.syslog.rule.parser(parser))
+ parser.add_option_group(pvl.irk.parser(parser, connect=None))
+
+ parser.add_option('--irker-target', metavar='IRC',
+ help="Irker target URL")
+
+ # parse
+ options, args = parser.parse_args(argv[1:])
+
+ # apply
+ pvl.args.apply(options, prog)
+
+ return options, args
+
+def main (argv) :
+ options, args = parse_options(argv)
+
+ if args :
+ # XXX: targets
+ target, = args
+ else :
+ target = None
+
+ log.info("Open syslog...")
+ syslog = pvl.syslog.args.apply(options)
+
+ log.info("Load rules...")
+ rules = pvl.syslog.rule.apply(options)
+
+ log.info("Connect IRK..")
+ irker = pvl.irk.apply(options)
+
+ log.info("Process syslog messages...")
+ for item in syslog.main() :
+ match, rulepath, apply = rules.apply(item)
+
+ log.debug("%s: %s: %s", item, rulepath, apply)
+
+ target = apply.get('irk', options.irker_target)
+
+ tag = '/'.join(str(rule) for rule in reversed(rulepath[:-1]))
+ text = apply.get('text')
+
+ log.info("%s: %s: %s", target, tag, text)
+
+ if not text :
+ # XXX: plain irk = ... in rule is broken, as it always applies, and skips any further rules
+ continue
+
+ if irker and target :
+ irker[target]('[' + tag + '] ' + text)
+ else :
+ print target, tag, text
+
+ # done
+ log.info("Exiting...")
+ return 0
+
+if __name__ == '__main__':
+ import sys
+
+ sys.exit(main(sys.argv))
--- a/bin/pvl.verkko-syslog Fri Jan 11 22:41:26 2013 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-#!/usr/bin/env python
-
-"""
- Syslog -> Irk
-"""
-
-__version__ = '0.0'
-
-import pvl.args
-import pvl.syslog.args
-import pvl.syslog.rule
-import pvl.irk
-
-import logging, optparse
-
-log = logging.getLogger('main')
-
-def parse_options (argv) :
- """
- Parse command-line arguments.
- """
-
- prog = argv[0]
-
- parser = optparse.OptionParser(
- prog = prog,
- usage = '%prog: [options]',
- version = __version__,
-
- # module docstring
- description = __doc__,
- )
-
- # options
- parser.add_option_group(pvl.args.parser(parser))
-
- # input
- parser.add_option_group(pvl.syslog.args.parser(parser))
- parser.add_option_group(pvl.syslog.rule.parser(parser))
- parser.add_option_group(pvl.irk.parser(parser, connect=None))
-
- parser.add_option('--irker-target', metavar='IRC',
- help="Irker target URL")
-
- # parse
- options, args = parser.parse_args(argv[1:])
-
- # apply
- pvl.args.apply(options, prog)
-
- return options, args
-
-def main (argv) :
- options, args = parse_options(argv)
-
- if args :
- # XXX: targets
- target, = args
- else :
- target = None
-
- log.info("Open syslog...")
- syslog = pvl.syslog.args.apply(options)
-
- log.info("Load rules...")
- rules = pvl.syslog.rule.apply(options)
-
- log.info("Connect IRK..")
- irker = pvl.irk.apply(options)
-
- log.info("Process syslog messages...")
- for item in syslog.main() :
- match, rulepath, apply = rules.apply(item)
-
- log.info("%s: %s", item, apply)
-
- target = apply.get('irk', options.irker_target)
-
- tag = '/'.join(str(rule) for rule in reversed(rulepath[:-1]))
- text = apply.get('text')
-
- if not text :
- # XXX: plain irk = ... in rule is broken, as it always applies, and skips any further rules
- continue
-
- if irker and target :
- irker[target]('[' + tag + '] ' + text)
- else :
- print target, tag, text
-
- # done
- log.info("Exiting...")
- return 0
-
-if __name__ == '__main__':
- import sys
-
- sys.exit(main(sys.argv))