diff Lib/optparse.py @ 31857:05989b4d6ce8 2.3

Fix support for the "prog" keyword to the OptionParser constructor, as well as directly setting the .prog attribute (which should be supported based on the class docstring). Closes SF bug #850964.
author Fred Drake <fdrake@acm.org>
date Thu, 01 Apr 2004 07:38:49 +0000
parents 8f47281fea7b
children
line wrap: on
line diff
--- a/Lib/optparse.py	Thu Apr 01 04:33:39 2004 +0000
+++ b/Lib/optparse.py	Thu Apr 01 07:38:49 2004 +0000
@@ -1025,6 +1025,11 @@
         self.largs = None
         self.values = None
 
+    def _get_prog_name(self):
+        if self.prog:
+            return self.prog
+        else:
+            return get_prog_name()
 
     # -- Simple modifier methods ---------------------------------------
 
@@ -1288,12 +1293,12 @@
         should either exit or raise an exception.
         """
         self.print_usage(sys.stderr)
-        sys.exit("%s: error: %s" % (get_prog_name(), msg))
+        sys.exit("%s: error: %s" % (self._get_prog_name(), msg))
 
     def get_usage (self):
         if self.usage:
             return self.formatter.format_usage(
-                self.usage.replace("%prog", get_prog_name()))
+                self.usage.replace("%prog", self._get_prog_name()))
         else:
             return ""
 
@@ -1311,7 +1316,7 @@
 
     def get_version (self):
         if self.version:
-            return self.version.replace("%prog", get_prog_name())
+            return self.version.replace("%prog", self._get_prog_name())
         else:
             return ""