From b01270bb9be8fc0d0c769737255f53a20e0be715 Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Tue, 28 Jul 2020 14:29:40 +0200 Subject: [PATCH] data import command line tool --- fishbook/data_import.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 fishbook/data_import.py diff --git a/fishbook/data_import.py b/fishbook/data_import.py new file mode 100644 index 0000000..abe7103 --- /dev/null +++ b/fishbook/data_import.py @@ -0,0 +1,31 @@ +import argparse +import glob + +main_descr = "Import data into the fishbook database!" + + +def run(args): + import fishbook as fb + + if args.Drop: + fb.backend.database.drop_tables() + exit() + from IPython import embed + embed + datasets = sorted(glob.glob(os.path.join(args.folder, args.pattern))) + if len(datasets) > 0: + 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") + 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__": + main() \ No newline at end of file