1 #!/usr/bin/env python 2 3 from simplex import * 4 import sys, time 5 6 try: 7 separator = sys.argv.index("--") 8 filename, interval = sys.argv[1:3] 9 keys = map(int, sys.argv[3:separator]) 10 terms = groups(sys.argv[separator+1:], len(keys)) 11 except (IndexError, ValueError): 12 print >>sys.stderr, "Usage: %s <filename> <interval> <key>... -- <term value>..." % sys.argv[0] 13 sys.exit(1) 14 15 f = open(filename) 16 reader = TextFile(f) 17 accessor = DelimitedRecord(keys) 18 try: 19 t = time.time() 20 l = make_index(reader, accessor, int(interval)) 21 print "Indexed in %s seconds." % (time.time() - t) 22 23 # Now use the index. 24 25 for term in terms: 26 t = time.time() 27 line = find_with_index(reader, accessor, l, term) 28 if line: 29 print "Found (at %s seconds)...\n%s" % (time.time() - t, line) 30 31 finally: 32 f.close() 33 34 # vim: tabstop=4 expandtab shiftwidth=4