#!/bin/python3 import argparse import glob import os main_descr = "Import data into the fishbook database!" def run(args): datasets = sorted(glob.glob(os.path.join(args.folder, args.pattern))) if len(datasets) < 1 and not args.drop: print("no matching datasets found when using pattern %s" % os.path.join(args.folder, args.pattern)) exit() import fishbook as fb if args.drop: fb.backend.database.drop_tables() exit() fb.backend.database.populate(datasets, args.update) def main(): parser = argparse.ArgumentParser(prog="fishbookImport", description=main_descr) parser.add_argument("folder", default=".", help="the location in which to look for datasets. Default is the current folder") parser.add_argument("-p", "--pattern", type=str, default="20*", help="the dataset name pattern to apply, e.g. \"2020-01-01-*\"") parser.add_argument("-u", "--update", default=False, action="store_true", help="update entries instead of skipping duplicates") parser.add_argument("--drop", default=False, action="store_true", help="Drop all information from the database") args = parser.parse_args() run(args) if __name__ == "__main__": # import cProfile # cProfile.run("main()", 'importprof') main() # import pstats # p = pstats.Stats('importprof') # from IPython import embed # embed()