コード例 #1
0
 def __setitem__(self, key: str, item) -> None:
     if not isinstance(key, str):
         raise KeyError
     if item is None:
         self._remove_item(key)
     elif not isinstance(item, Node):
         if key in self._content:
             self._kill += [self._content[key]]
         import data_formats
         self._content[key] = data_formats.available_types[type(item)](
             self, "{:s}.leaf".format(key),
             Meta.create_meta(self.top_level_meta,
                              self.path / "{:s}.leaf/".format(key)))
         self._content[key].data = item
     else:
         if key not in self._content:
             self._content[key] = item
         else:
             self._kill += [self._content[key]]
             self._content[key] = item
コード例 #2
0
 def create_branch(parent: "Branch", name: str) -> "Branch":
     return Branch(
         parent, name, {},
         Meta.create_meta(parent.top_level_meta, parent.path / name))