From 456d3258d64f4c60a7787dd59f5c68bafb81584c Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Thu, 1 Apr 2004 07:40:35 +0000 Subject: 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. --- Lib/optparse.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'Lib/optparse.py') diff --git a/Lib/optparse.py b/Lib/optparse.py index bacef0f311..d3593d3cc5 100644 --- a/Lib/optparse.py +++ b/Lib/optparse.py @@ -1025,6 +1025,11 @@ class OptionParser (OptionContainer): 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 @@ class OptionParser (OptionContainer): 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 @@ class OptionParser (OptionContainer): 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 "" -- cgit v1.2.1