#!/usr/bin/env python
"""
Test Irk
"""
__version__ = '0.1'
import pvl.args
import pvl.irk
import sys, pvl.syslog.tail # XXX: for sys.stdin
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))
parser.add_option_group(pvl.irk.parser(parser))
parser.add_option('--join', action='store_true', help="Join given targets")
parser.add_option('--part', action='store_true', help="Part given targets")
# 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)
log.info("Connect IRK..")
irker = pvl.irk.apply(options)
log.info("Load targets...")
targets = [irker.target(target, join=options.join) for target in args]
log.info("Send messages...")
for line in pvl.syslog.file.File(sys.stdin) :
log.info("%s", line)
for target in targets :
target(line)
if options.part :
for target in targets :
target.part()
# done
log.info("Exiting...")
return 0
if __name__ == '__main__':
import sys
sys.exit(main(sys.argv))