scripts/search-index
changeset 104 34c65a8c8b94
parent 103 0e829e6275dc
child 105 e24da9a94ffb
equal deleted inserted replaced
103:0e829e6275dc 104:34c65a8c8b94
   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