summaryrefslogtreecommitdiffstats
path: root/gobject
diff options
context:
space:
mode:
Diffstat (limited to 'gobject')
-rw-r--r--gobject/option.py11
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