From 5f2f642956248ac9732218f1679d0bbd231a717d Mon Sep 17 00:00:00 2001
From: nickb <nickb@ssec.wisc.edu>
Date: Fri, 12 Feb 2021 19:27:40 +0000
Subject: [PATCH] make our help text return the name of the script that was
 actually called

---
 gridded_glm/bin/cspp-geo-gglm-make-grids.sh |  1 +
 gridded_glm/bin/cspp-geo-gglm.sh            |  1 +
 gridded_glm/libexec/_make_glm_grids.py      |  4 +++-
 gridded_glm/libexec/_minute_gridder.py      | 10 +++++++---
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/gridded_glm/bin/cspp-geo-gglm-make-grids.sh b/gridded_glm/bin/cspp-geo-gglm-make-grids.sh
index f0e5362..afbff79 100755
--- a/gridded_glm/bin/cspp-geo-gglm-make-grids.sh
+++ b/gridded_glm/bin/cspp-geo-gglm-make-grids.sh
@@ -29,4 +29,5 @@ fi
 source $CSPP_GEO_GGLM_HOME/libexec/env.sh
 
 # Call the python module to do the processing, passing all arguments
+export PROG_NAME="${BASH_SOURCE[0]}"
 python3 $CSPP_GEO_GGLM_HOME/libexec/_make_glm_grids.py "$@"
diff --git a/gridded_glm/bin/cspp-geo-gglm.sh b/gridded_glm/bin/cspp-geo-gglm.sh
index f554eec..1dee9dc 100755
--- a/gridded_glm/bin/cspp-geo-gglm.sh
+++ b/gridded_glm/bin/cspp-geo-gglm.sh
@@ -29,4 +29,5 @@ fi
 source $CSPP_GEO_GGLM_HOME/libexec/env.sh
 
 # Call the python module to do the processing, passing all arguments
+export PROG_NAME="${BASH_SOURCE[0]}"
 python3 $CSPP_GEO_GGLM_HOME/libexec/_minute_gridder.py "$@"
diff --git a/gridded_glm/libexec/_make_glm_grids.py b/gridded_glm/libexec/_make_glm_grids.py
index 1dac45b..b31dc87 100644
--- a/gridded_glm/libexec/_make_glm_grids.py
+++ b/gridded_glm/libexec/_make_glm_grids.py
@@ -2,6 +2,7 @@
 # This example was provided by GLMTools
 # https://github.com/deeplycloudy/glmtools/blob/master/examples/grid/make_GLM_grids.py
 import argparse
+import sys
 parse_desc = """Grid GLM flash data. The start and end times can be specified
 independently, or if not provided they will be inferred from the filenames.
 
@@ -24,7 +25,8 @@ structure by specifying a path like so: -o
 {start_time:%%Y/%%b/%%d}/{dataset_name}"""
 
 def create_parser():
-    parser = argparse.ArgumentParser(description=parse_desc)
+    prog = os.getenv('PROG_NAME', sys.argv[0])
+    parser = argparse.ArgumentParser(prog=prog, description=parse_desc)
     parser.add_argument(dest='filenames',metavar='filename', nargs='*')
     parser.add_argument('-o', '--output_path',
                         metavar='filename template including path',
diff --git a/gridded_glm/libexec/_minute_gridder.py b/gridded_glm/libexec/_minute_gridder.py
index 3e63eee..e54301a 100644
--- a/gridded_glm/libexec/_minute_gridder.py
+++ b/gridded_glm/libexec/_minute_gridder.py
@@ -3,8 +3,9 @@
 
 parse_desc = """Create one minute NetCDF4 grids (and, optionally, AWIPS-compatible tiles) from GLM flash data.
 
-Example usage:\n
-    cspp-geo-gglm.sh \\
+Example usage:
+
+    %(prog)s \\
         --goes-sector conus \\
         --create-tiles \\
         -vv \\
@@ -37,7 +38,10 @@ log = logging.getLogger(__name__)
 
 def create_parser():
     import argparse
-    parser = argparse.ArgumentParser(description=parse_desc, formatter_class=argparse.RawTextHelpFormatter) # RawTextHelpFormatter preserves our newlines in the example usage message
+    prog = os.getenv('PROG_NAME', sys.argv[0])
+    parser = argparse.ArgumentParser(prog=prog,
+                                     description=parse_desc, 
+                                     formatter_class=argparse.RawTextHelpFormatter) # RawTextHelpFormatter preserves our newlines in the example usage message
     parser.add_argument('-v', '--verbose', dest='verbosity', action="count", default=0,
                         help="each occurrence increases verbosity 1 level through ERROR-WARNING-INFO-DEBUG\n"
                              "(default: ERROR)")
-- 
GitLab