示例#1
0
 def __delitem__(self, key):
     # type: (str) -> None
     self._raise_for_scope_violation()
     unique_key = get_item_state_prefix() + (key, )
     if unique_key not in get_all_item_states():
         raise KeyError(key)
     clear_item_state(key)
示例#2
0
 def __iter__(self) -> Iterator:
     self._raise_for_scope_violation()
     prefix = get_item_state_prefix()
     return iter(unique_key[-1] for unique_key in get_all_item_states()
                 if unique_key[:2] == prefix)
示例#3
0
 def __len__(self) -> int:
     self._raise_for_scope_violation()
     prefix = get_item_state_prefix()
     return sum(unique_key[:2] == prefix
                for unique_key in get_all_item_states())
示例#4
0
 def __delitem__(self, key: str) -> None:
     prefix = self._get_validated_item_state_prefix()
     unique_key = prefix + (key, )
     if unique_key not in get_all_item_states():
         raise KeyError(key)
     clear_item_state(key)
示例#5
0
 def __getitem__(self, key: str) -> Any:
     prefix = self._get_validated_item_state_prefix()
     unique_key = prefix + (key, )
     return get_all_item_states()[unique_key]
示例#6
0
 def __getitem__(self, key):
     # type: (str) -> Any
     self._raise_for_scope_violation()
     unique_key = get_item_state_prefix() + (key, )
     return get_all_item_states()[unique_key]