Skip to content

Commit

Permalink
Merge pull request tornadoweb#1576 from ewang/master
Browse files Browse the repository at this point in the history
Override __setitem__ in tornado.options
  • Loading branch information
bdarnell committed Nov 7, 2015
2 parents 3dcb12c + a3d2618 commit 7da0d5b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
6 changes: 4 additions & 2 deletions tornado/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,10 @@ def __contains__(self, name):
return name in self._options

def __getitem__(self, name):
name = self._normalize_name(name)
return self._options[name].value()
return self.__getattr__(name)

def __setitem__(self, name, value):
return self.__setattr__(name, value)

def items(self):
"""A sequence of (name, value) pairs.
Expand Down
6 changes: 6 additions & 0 deletions tornado/test/options_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,12 @@ def test_getitem(self):
options = self._sample_options()
self.assertEqual(1, options['a'])

def test_setitem(self):
options = OptionParser()
options.define('foo', default=1, type=int)
options['foo'] = 2
self.assertEqual(options['foo'], 2)

def test_items(self):
options = self._sample_options()
# OptionParsers always define 'help'.
Expand Down

0 comments on commit 7da0d5b

Please sign in to comment.