diff options
Diffstat (limited to 'gobject')
| -rw-r--r-- | gobject/option.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gobject/option.py b/gobject/option.py index 07a1c99..5930274 100644 --- a/gobject/option.py +++ b/gobject/option.py @@ -316,8 +316,10 @@ class OptionParser(optparse.OptionParser): largs.extend(context.parse([sys.argv[0]] + rargs)) def parse_args(self, args=None, values=None): + old_args = args try: - return optparse.OptionParser.parse_args(self, args, values) + options, args = optparse.OptionParser.parse_args( + self, args, values) except gobject.GError, error: if error.domain != gobject.OPTION_ERROR: raise @@ -330,4 +332,11 @@ class OptionParser(optparse.OptionParser): else: raise + for group in self.option_groups: + for key, value in group.values.__dict__.items(): + options.ensure_value(key, value) + + args = args[2:-len(old_args)] + return options, args + make_option = Option |
