477 def main (argv) : |
477 def main (argv) : |
478 """ |
478 """ |
479 Command-line main, with given argv |
479 Command-line main, with given argv |
480 """ |
480 """ |
481 |
481 |
482 from optparse import OptionParser |
482 from optparse import OptionParser, OptionGroup |
483 |
483 |
484 # define parser |
484 # define parser |
485 parser = OptionParser( |
485 parser = OptionParser( |
486 usage = "%prog [options] <command> [ ... ]", |
486 usage = "%prog [options] <command> [ ... ]", |
487 add_help_option = False, |
487 add_help_option = False, |
488 ) |
488 ) |
489 |
489 |
490 # define command-line arguments |
490 # define command-line arguments |
491 parser.add_option('-h', "--help", dest="help", help="Show this help message and exit", action="store_true" ) |
491 general = OptionGroup(parser, "General Options") |
492 parser.add_option('-F', "--formatter", dest="formatter_name", help="LogFormatter to use", metavar="FMT", type="choice", default="irssi", |
492 general.add_option('-h', "--help", dest="help", help="Show this help message and exit", action="store_true" ) |
|
493 general.add_option( "--formatter", dest="formatter_name", help="LogFormatter to use", metavar="FMT", type="choice", default="irssi", |
493 choices=[fmt_name for fmt_name in config.LOG_FORMATTERS.iterkeys()]) |
494 choices=[fmt_name for fmt_name in config.LOG_FORMATTERS.iterkeys()]) |
494 |
495 |
495 parser.add_option('-I', "--index", dest="index_path", help="Index database path", metavar="PATH", default="logs/index" ) |
496 general.add_option( "--index", dest="index_path", help="Index database path", metavar="PATH", default="logs/index" ) |
496 parser.add_option( "--autoload-state", dest="autoload_state_path", help="Path to autoload state dir", metavar="PATH", default="logs/autoload-state" ) |
497 general.add_option( "--timezone", dest="tz_name", help="Timezone for output", metavar="TZ", default="UTC" ) |
497 parser.add_option( "--after", dest="after", help="Only autoload logfiles after the given date", metavar="DATE", default=None ) |
498 general.add_option( "--force", dest="force", help="Force dangerous operation", action="store_true" ) |
498 parser.add_option( "--until", dest="until", help="Only autoload logfiles up to the given date", metavar="DATE", default=None ) |
499 general.add_option( "--quiet", dest="quiet", help="Supress status messages", action="store_true" ) |
499 parser.add_option('-Z', "--timezone", dest="tz_name", help="Timezone for output", metavar="TZ", default="UTC" ) |
500 parser.add_option_group(general) |
500 parser.add_option('-f', "--force", dest="force", help="Force dangerous operation", action="store_true" ) |
501 |
501 parser.add_option( "--create", dest="create", help="Create index database", action="store_true" ) |
502 load = OptionGroup(parser, "Load Options") |
502 parser.add_option( "--skip-missing", dest="skip_missing", help="Skip missing logfiles", action="store_true" ) |
503 load.add_option( "--skip-missing", dest="skip_missing", help="Skip missing logfiles", action="store_true" ) |
503 parser.add_option( "--reload", dest="reload", help="Force reload lines", action="store_true" ) |
504 load.add_option( "--create", dest="create", help="Create index database", action="store_true" ) |
504 parser.add_option( "--reset", dest="reset", help="Reset old autload state", action="store_true" ) |
505 parser.add_option_group(load) |
505 parser.add_option( "--ignore-resume", dest="ignore_resume", help="Do not try and resume interrupted autoload", action="store_true" ) |
506 |
506 parser.add_option( "--quiet", dest="quiet", help="Supress status messages", action="store_true" ) |
507 autoload = OptionGroup(parser, "Autoload Options") |
|
508 autoload.add_option( "--autoload-state", dest="autoload_state_path", help="Path to autoload state dir", metavar="PATH", default="logs/autoload-state" ) |
|
509 autoload.add_option( "--after", dest="after", help="Only autoload logfiles after the given date", metavar="DATE", default=None ) |
|
510 autoload.add_option( "--until", dest="until", help="Only autoload logfiles up to the given date", metavar="DATE", default=None ) |
|
511 autoload.add_option( "--reload", dest="reload", help="Force reload lines", action="store_true" ) |
|
512 autoload.add_option( "--reset", dest="reset", help="Reset old autload state", action="store_true" ) |
|
513 autoload.add_option( "--ignore-resume", dest="ignore_resume", help="Do not try and resume interrupted autoload", action="store_true" ) |
|
514 parser.add_option_group(autoload) |
507 |
515 |
508 # parse |
516 # parse |
509 options, args = parser.parse_args(argv[1:]) |
517 options, args = parser.parse_args(argv[1:]) |
510 |
518 |
511 # postprocess stuff |
519 # postprocess stuff |