From: A. Jesse Jiryu Davis Date: Thu, 23 May 2013 21:06:35 +0000 (-0400) Subject: OptionParser.group_dict() now requires a group. Add as_dict(). X-Git-Tag: v3.1.0~55^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F789%2Fhead;p=thirdparty%2Ftornado.git OptionParser.group_dict() now requires a group. Add as_dict(). --- diff --git a/tornado/options.py b/tornado/options.py index 6eefe6b46..04692f7a8 100644 --- a/tornado/options.py +++ b/tornado/options.py @@ -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. diff --git a/tornado/test/options_test.py b/tornado/test/options_test.py index d32df0de3..23ce0fe45 100644 --- a/tornado/test/options_test.py +++ b/tornado/test/options_test.py @@ -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)