listservs/index.py
2019-12-21 16:27:37 +01:00

35 lines
1.1 KiB
Python

import os, logging, argparse
from glob import glob
import archive.archive as archive
import config
logging.basicConfig(level=logging.DEBUG)
def list_archives(archives_dir):
return [d for d in os.listdir(archives_dir) if os.path.isdir(os.path.join(archives_dir, d))]
def run(lists, archives):
logging.debug("indexing: " + str(lists) + " from " + archives)
for a in archives:
archive = archive.Archive(a, archive_dir=archives)
archive.insert_db(host=config.db['host'], database=config.db['database'], user=config.db['user'], password=config.db['password'])
if __name__ == "__main__":
p = argparse.ArgumentParser(description='Mailinglists are dead. Long live mailinglists!')
p.add_argument('list', metavar="list", help="list(s) to index", nargs="+")
p.add_argument('--archives', '-a', help="path to archives directory (default='archives')", default=config.archives)
args = p.parse_args()
if not args.archives:
args.archives = config.archives
if len(args.list) == 1 and args.list[0] == "all":
args.list = list_archives(args.archives)
run(args.list, args.archives)