Example #1
0
    async def _put(self, key: datastore.Key,
                   value: datastore.abc.ReceiveChannel[T_co],
                   **kwargs: typing.Any) -> None:
        """Stores the object `value` named by `key`.
		   DirectoryTreeDatastore stores a directory entry.
		"""
        await super()._put(key, value, **kwargs)

        # ignore root
        if key.is_top_level():
            return

        # Add entry to directory
        dir_key = key.parent.instance('directory')
        await super().directory_add(dir_key, key, create=True)