def options(self, options):
if options is None:
self._options = None
elif isinstance(options, abc.Iterable):
self._options = tuple(options)
# Purge new invalid items
for name in ('_default', '_value'):
lst = getattr(self, name)
invalid_items = set(lst).difference(self.options)
for item in invalid_items:
while item in lst:
lst.remove(item)
else:
raise TypeError('options must be sequence or None, not %s: %r' % (type(options).__name__, options))
评论列表
文章目录