diff Lib/optparse.py @ 31858:0d8ee28bf6f0 legacy-trunk

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:40:35 +0000
parents 8bf163d06d29
children 195655299ed3
line wrap: on
line diff
--- a/Lib/optparse.py	Thu Apr 01 04:30:29 2004 +0000
+++ b/Lib/optparse.py	Thu Apr 01 07:40:35 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 ""