From cde345fa3d1740e5e62af7bb65707b98c1d1b0fc Mon Sep 17 00:00:00 2001
From: Jeremy Fee <jmfee@usgs.gov>
Date: Wed, 18 May 2016 13:10:22 -0600
Subject: [PATCH] Add --observatory-foreach argument, loop to main method

---
 geomagio/Controller.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/geomagio/Controller.py b/geomagio/Controller.py
index d3132fb9..97cd1fb6 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')
-- 
GitLab