listservs/search.py

38 lines
1.0 KiB
Python
Raw Normal View History

2017-07-27 10:09:33 +02:00
import sys, logging, argparse
import search.archive
logging.basicConfig(level=logging.DEBUG)
def run(args):
if not args.keyword:
sys.exit('No keyword. Aborting.')
if not args.list:
args.list = ['spectre', 'crumb', 'empyre'] ## eh....
for l in args.list:
arch = search.archive.Archive('archives/')
arch.load(l)
r = arch.search(keyword=args.keyword, field=args.field)
for z in r['results']:
print(z['thread'] + " ---- " + str(z['nbr_hits']))
for zz in z['hits']:
print(" " + zz['url'])
print(" " + zz['index_str'])
sys.exit()
if __name__ == "__main__":
p = argparse.ArgumentParser(description='Searches mailinglists archives')
p.add_argument('keyword', metavar="keyword", help="keyword to search")
p.add_argument('--list', help="mailinglist(s') name(s)", nargs="+")
p.add_argument('--field', help="message field (i.e. 'content' or 'subject', etc.)", default="content")
args = p.parse_args()
run(args)