Skip to content
Snippets Groups Projects
Commit 366b4fb0 authored by Stefan Reck's avatar Stefan Reck
Browse files

move remaining commands to unified parser

parent 7e9d4fe3
No related branches found
No related tags found
1 merge request!20Parser
......@@ -7,6 +7,8 @@ from orcasong.tools.concatenate import concatenate
from orcasong.tools.postproc import postproc_file
from orcasong.tools.shuffle2 import h5shuffle2
import orcasong.from_toml as from_toml
import orcasong.plotting.plot_binstats as plot_binstats
import orcasong.tools.make_data_split as make_data_split
def _add_parser_concatenate(subparsers):
......@@ -124,6 +126,8 @@ def main():
_add_parser_concatenate(subparsers)
_add_parser_h5shuffle(subparsers)
_add_parser_h5shuffle2(subparsers)
plot_binstats.add_parser(subparsers)
make_data_split.add_parser(subparsers)
_add_parser_version(subparsers)
kwargs = vars(parser.parse_args())
......
......@@ -218,6 +218,9 @@ def get_all_h5_files():
def main():
# TODO deprecated
warnings.warn(
"plot_binstats is deprecated and has been renamed to orcasong plot_binstats")
parser = argparse.ArgumentParser(
description='Generate a plot with statistics of the binning. '
'Can only be used on files generated with the FileBinner when '
......@@ -232,5 +235,20 @@ def main():
plot_hist_of_files(**vars(parser.parse_args()))
def add_parser(subparsers):
parser = subparsers.add_parser(
"plot_binstats",
description='Generate a plot with statistics of the binning. '
'Can only be used on files generated with the FileBinner when '
'add_bin_stats was set to true (default). ')
parser.add_argument(
'--save_as', type=str, default="bin_stats_plot.pdf",
help='Filename of the plot. Default: bin_stats_plot.pdf.')
parser.add_argument(
'files', type=str, nargs='*', default=None,
help='File(s) to plot. Default: Plot for all h5 files in current dir.')
parser.set_defaults(func=plot_hist_of_files)
if __name__ == "__main__":
main()
......@@ -324,6 +324,7 @@ def concatenate(file, outfile="concatenated.h5", no_used_files=False, skip_error
def main():
# TODO deprecated
warnings.warn("concatenate is deprecated and has been renamed to orcasong concatenate")
parser = argparse.ArgumentParser(
description='Concatenate many small h5 files to a single large one '
......
......@@ -5,6 +5,7 @@
__author__ = "Michael Moser, Daniel Guderian"
import os
import warnings
import toml
import argparse
import h5py
......@@ -13,6 +14,8 @@ import numpy as np
def get_parser():
# TODO deprecated
warnings.warn("make_data_split is deprecated and has been renamed to orcasong make_data_split")
parser = argparse.ArgumentParser(
description="Create datasets based on the run_id's."
"Use the config to add input folder and set the ranges."
......@@ -26,6 +29,20 @@ def get_parser():
return parser
def add_parser(subparsers):
parser = subparsers.add_parser(
"make_data_split",
description="Create datasets based on the run_id's."
"Use the config to add input folder and set the ranges."
"Outputs a list in an txt file that can be used to "
"concatenate the files specfied"
)
parser.add_argument(
"config", type=str, help="See example config for detailed information"
)
parser.set_defaults(func=make_split)
def get_all_ip_group_keys(cfg):
"""
Gets the keys of all input groups in the config dict.
......@@ -418,9 +435,10 @@ def main():
# load the config
parser = get_parser()
parsed_args = parser.parse_args()
make_split(parsed_args.config)
config_file = parsed_args.config
def make_split(config_file):
# decode config
cfg = toml.load(config_file)
cfg["toml_filename"] = config_file
......
......@@ -117,6 +117,7 @@ def get_filepath_output(input_file, shuffle=True, event_skipper=None):
def h5shuffle():
# TODO deprecated
warnings.warn("h5shuffle is deprecated and has been renamed to orcasong h5shuffle")
parser = argparse.ArgumentParser(description='Shuffle an h5 file using km3pipe.')
parser.add_argument('input_file', type=str, help='File to shuffle.')
......
......@@ -337,6 +337,7 @@ def slicify(fancy_indices):
def run_parser():
# TODO deprecated
warnings.warn("h5shuffle2 is deprecated and has been renamed to orcasong h5shuffle2")
parser = argparse.ArgumentParser(
description="Shuffle datasets in a h5file that have the same length. "
......
......@@ -28,9 +28,9 @@ setup(
entry_points={'console_scripts': [
'orcasong=orcasong.parser:main',
# TODO all deprecated:
'make_dsplit=orcasong.tools.make_data_split:main',
'plot_binstats=orcasong.plotting.plot_binstats:main',
# deprecated:
'concatenate=orcasong.tools.concatenate:main',
'h5shuffle=orcasong.tools.postproc:h5shuffle',
'h5shuffle2=orcasong.tools.shuffle2:run_parser',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment