From 77dfa209231d2dc43094e9519826e6a0246ef270 Mon Sep 17 00:00:00 2001 From: Stefan Reck <stefan.reck@fau.de> Date: Wed, 14 Apr 2021 15:08:31 +0200 Subject: [PATCH] change parsing --- orcasong/toml.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/orcasong/toml.py b/orcasong/toml.py index 94e4374..70112a2 100644 --- a/orcasong/toml.py +++ b/orcasong/toml.py @@ -1,11 +1,12 @@ import os import toml from orcasong.core import FileGraph -from orcasong.extractors import get_neutrino_mc_info_extr +import orcasong.extractors as extractors EXTRACTORS = { - "neutrino": get_neutrino_mc_info_extr, + "neutrino_mc": extractors.get_neutrino_mc_info_extr, + "neutrino_data": extractors.get_real_data_info_extr, } @@ -14,21 +15,29 @@ def add_parser(subparsers): "graph", description='Produce graph dl file from aanet file.') parser.add_argument('infile', type=str) - parser.add_argument('config', type=str) - parser.add_argument('detx_file', type=str) + parser.add_argument('toml_file', type=str) + parser.add_argument('--detx_file', type=str, default=None) parser.add_argument('--outfile', type=str, default=None) return parser.parse_args() -def make_graph(infile, config, detx_file, outfile=None): +def make_graph(infile, toml_file, detx_file=None, outfile=None): if outfile is None: outfile = f"{os.path.splitext(os.path.basename(infile))[0]}_dl.h5" - cfg = toml.load(config) - extractor_cfg = cfg.pop("extractor") - extractor_name = extractor_cfg.pop("name") - inps = {"infile": infile, "config": config, "detx_file": detx_file, "outfile": outfile} - extractor = EXTRACTORS[extractor_name](inps, **extractor_cfg) + cfg = toml.load(toml_file) + if "detx_file" in cfg: + if detx_file is not None: + raise ValueError + detx_file = cfg.pop("detx_file") + + extractor_name = cfg.pop("extractor") + if "extractor_config" in cfg: + extractor_cfg = cfg.pop("extractor_config") + else: + extractor_cfg = {} + + extractor = EXTRACTORS[extractor_name](infile, **extractor_cfg) FileGraph( det_file=detx_file, -- GitLab