]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
OptionParser.group_dict() now requires a group. Add as_dict(). 789/head
authorA. Jesse Jiryu Davis <jesse@10gen.com>
Thu, 23 May 2013 21:06:35 +0000 (17:06 -0400)
committerA. Jesse Jiryu Davis <jesse@10gen.com>
Thu, 23 May 2013 21:06:35 +0000 (17:06 -0400)
tornado/options.py
tornado/test/options_test.py

index 6eefe6b465e65fa7564ba1de7c8b6ac600a18339..04692f7a835ab507b35ffa5c759a7670b4c75dc2 100644 (file)
@@ -115,11 +115,8 @@ class OptionParser(object):
         """The set of option-groups created by ``define``."""
         return set(opt.group_name for opt in self._options.values())
 
-    def group_dict(self, group=None):
-        """A dict of option names and values.
-
-        If ``group`` is given, get options only from the named group; otherwise
-        all options are included.
+    def group_dict(self, group):
+        """The names and values of options in a group.
 
         Useful for copying options into Application settings::
 
@@ -137,6 +134,11 @@ class OptionParser(object):
             (name, opt.value()) for name, opt in self._options.items()
             if not group or group == opt.group_name)
 
+    def as_dict(self):
+        """The names and values of all options."""
+        return dict(
+            (name, opt.value()) for name, opt in self._options.items())
+
     def define(self, name, default=None, type=None, help=None, metavar=None,
                multiple=False, group=None, callback=None):
         """Defines a new command line option.
index d32df0de36be6bdcecc6610460bdf264b57965ee..23ce0fe458a7b475bf8a2aa3968e7e7a2bb727a7 100644 (file)
@@ -135,6 +135,11 @@ class OptionsTest(unittest.TestCase):
         actual = sorted(options.items())
         self.assertEqual(expected, actual)
 
+    def test_as_dict(self):
+        options = self._sample_options()
+        expected = {'a': 1, 'b': 2, 'help': options.help}
+        self.assertEqual(expected, options.as_dict())
+
     def test_group_dict(self):
         options = OptionParser()
         options.define('a', default=1)
@@ -144,10 +149,6 @@ class OptionsTest(unittest.TestCase):
         this_file = frame.f_code.co_filename
         self.assertEqual(set(['b_group', '', this_file]), options.groups())
 
-        default_group_dict = options.group_dict()
-        expected = {'a': 1, 'b': 2, 'help': options.help}
-        self.assertEqual(expected, default_group_dict)
-
         b_group_dict = options.group_dict('b_group')
         self.assertEqual({'b': 2}, b_group_dict)