diff --git a/geomagio/Controller.py b/geomagio/Controller.py index d3132fb959d760bd352174b25993682683549a52..97cd1fb6571c0f1f50da4c629a0bf4cf5694ed6f 100644 --- a/geomagio/Controller.py +++ b/geomagio/Controller.py @@ -494,6 +494,23 @@ def main(args): if isinstance(args.observatory, (str, unicode)): args.observatory = (args.observatory,) + if args.observatory_foreach: + observatory = args.observatory + for obs in observatory: + args.observatory = (obs,) + _main(args) + else: + _main(args) + + +def _main(args): + """Actual main method logic, called by main + + Parameters + ---------- + args : argparse.Namespace + command line arguments + """ # create controller input_factory = get_input_factory(args) output_factory = get_output_factory(args) @@ -550,6 +567,11 @@ def parse_args(args): ' single observatory formats like IAGA and PCDCP.', nargs='*', type=str) + parser.add_argument('--observatory-foreach', + action='store_true', + default=False, + help='When specifying multiple observatories, process' + ' each observatory separately') parser.add_argument('--inchannels', nargs='*', help='Channels H, E, Z, etc')