scripts/search-index
changeset 94 6673de9bc911
parent 93 48fca00689e3
child 95 ebdbda3dd5d0
--- a/scripts/search-index	Wed Feb 11 02:07:07 2009 +0200
+++ b/scripts/search-index	Wed Feb 11 02:16:11 2009 +0200
@@ -267,7 +267,7 @@
 
         # path to our state file
         statefile_path = os.path.join(options.autoload_state_path, 'chan-%s' % channel.id)
-        
+       
         # override?
         if options.reload :
             # load all
@@ -291,9 +291,18 @@
             
             if not options.quiet :
                 print "no previous load state:",
+ 
+        # only after some specific date?
+        if options.after :
+            after = options.after
+            
+            print "after=%s:" % after,
+
+        else :
+            after = None
         
         # get lines
-        lines = channel.source.get_modified(mtime)
+        lines = channel.source.get_modified(mtime, after)
         
         # insert
         if not options.quiet :
@@ -362,18 +371,19 @@
     )
 
     # define command-line arguments
-    parser.add_option('-h', "--help",           dest="help",            help="Show this help message and exit",     action="store_true")
+    parser.add_option('-h', "--help",           dest="help",            help="Show this help message and exit",     action="store_true" )
     parser.add_option('-F', "--formatter",      dest="formatter_name",  help="LogFormatter to use",                 metavar="FMT",  type="choice", default="irssi",
         choices=[fmt_name for fmt_name in config.LOG_FORMATTERS.iterkeys()])
 
-    parser.add_option('-I', "--index",          dest="index_path",      help="Index database path",                 metavar="PATH", default="logs/index")
-    parser.add_option(      "--autoload-state", dest="autoload_state_path", help="Path to autoload state dir",      metavar="PATH", default="logs/autoload-state")
-    parser.add_option('-Z', "--timezone",       dest="tz_name",         help="Timezone for output",                 metavar="TZ",   default="UTC")
-    parser.add_option('-f', "--force",          dest="force",           help="Force dangerous operation",           action="store_true")
-    parser.add_option(      "--create",         dest="create",          help="Create index database",               action="store_true")
-    parser.add_option(      "--skip-missing",   dest="skip_missing",    help="Skip missing logfiles",               action="store_true")
-    parser.add_option(      "--reload",         dest="reload",          help="Force reload lines",                  action="store_true")
-    parser.add_option(      "--quiet",          dest="quiet",           help="Supress status messages",             action="store_true")
+    parser.add_option('-I', "--index",          dest="index_path",      help="Index database path",                 metavar="PATH", default="logs/index"            )
+    parser.add_option(      "--autoload-state", dest="autoload_state_path", help="Path to autoload state dir",      metavar="PATH", default="logs/autoload-state"   )
+    parser.add_option(      "--after",          dest="after",           help="Only autoload logfiles after the given date", metavar="DATE", default=None            )
+    parser.add_option('-Z', "--timezone",       dest="tz_name",         help="Timezone for output",                 metavar="TZ",   default="UTC"                   )
+    parser.add_option('-f', "--force",          dest="force",           help="Force dangerous operation",           action="store_true" )
+    parser.add_option(      "--create",         dest="create",          help="Create index database",               action="store_true" )
+    parser.add_option(      "--skip-missing",   dest="skip_missing",    help="Skip missing logfiles",               action="store_true" )
+    parser.add_option(      "--reload",         dest="reload",          help="Force reload lines",                  action="store_true" )
+    parser.add_option(      "--quiet",          dest="quiet",           help="Supress status messages",             action="store_true" )
 
     # parse
     options, args = parser.parse_args(argv[1:])
@@ -383,6 +393,9 @@
     options.tz = pytz.timezone(options.tz_name)
     options.formatter = config.LOG_FORMATTERS[options.formatter_name](options.tz, "%H:%M:%S", None, None)
 
+    if options.after :
+        options.after = _parse_date(options, options.after)
+
     # special-case --help
     if options.help :
         return cmd_help(options, *args)