提交 a248bf67 authored 作者: Frédéric Bastien's avatar Frédéric Bastien

Merge pull request #3520 from julienr/optdb_contains

Add optdb.DB __contains__ operator
...@@ -160,6 +160,9 @@ multiple time in a DB. Tryed to register "%s" again under the new name "%s". ...@@ -160,6 +160,9 @@ multiple time in a DB. Tryed to register "%s" again under the new name "%s".
for variable in variables: for variable in variables:
return variable return variable
def __contains__(self, name):
return name in self.__db__
def print_summary(self, stream=sys.stdout): def print_summary(self, stream=sys.stdout):
print("%s (id %i)" % (self.__class__.__name__, id(self)), file=stream) print("%s (id %i)" % (self.__class__.__name__, id(self)), file=stream)
print(" names", self._names, file=stream) print(" names", self._names, file=stream)
......
...@@ -18,6 +18,10 @@ class Test_DB(TestCase): ...@@ -18,6 +18,10 @@ class Test_DB(TestCase):
db.register('c', Opt(), 'z', 'asdf') db.register('c', Opt(), 'z', 'asdf')
self.assertTrue('a' in db)
self.assertTrue('b' in db)
self.assertTrue('c' in db)
try: try:
db.register('c', Opt()) # name taken db.register('c', Opt()) # name taken
self.fail() self.fail()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论