# ``twisted`.`persisted`.`dirdbm`.`Shelf``

class documentation

`class Shelf(DirDBM): (source)`

View In Hierarchy

A directory with a DBM shelf interface.

This class presents a hash-like interface to a directory of small, flat files. Keys must be strings, but values can be any given object.

Method | `__getitem__` | `dirdbm[foo]` Get and unpickle the contents of a file in this directory.
Method | `__setitem__` | `shelf[foo] = bar` Create or modify a textfile in this directory.

Inherited from `DirDBM`:

Method | `__contains__` |
Method | `__delitem__` | `del dirdbm[foo]` Delete a file in this directory.
Method | `__init__` |
Method | `__len__` |
Method | `clear` | Delete all key/value pairs in this dirdbm.
Method | `close` | Close this dbm: no-op, for dbm-style interface compliance.
Method | `copyTo` | Copy the contents of this dirdbm to the dirdbm at `path`.
Method | `get` |
Method | `getModificationTime` | Returns modification time of an entry.
Method | `has_key` |
Method | `items` |
Method | `keys` |
Method | `setdefault` |
Method | `update` | Add all the key/value pairs in `dict` to this dirdbm. Any conflicting keys will be overwritten with the values from `dict`.
Method | `values` |
Instance Variable | `dname` | Undocumented
Method | `_decode` | Decode a filename to get the key.
Method | `_encode` | Encode a key so it can be used as a filename.
Method | `_readFile` | Read in the contents of a file.
Method | `_writeFile` | Write data to a file.
Instance Variable | `_dnamePath` | Undocumented

def __getitem__(self, k): (source)
overrides `twisted.persisted.dirdbm.DirDBM.__getitem__`
`dirdbm[foo]` Get and unpickle the contents of a file in this directory.

Parameters
k:bytes | The key to lookup
Returns
The value associated with the given key
Raises
`KeyError` | Raised if the given key does not exist

def __setitem__(self, k, v): (source)
overrides `twisted.persisted.dirdbm.DirDBM.__setitem__`
`shelf[foo] = bar` Create or modify a textfile in this directory.

Parameters
k:str | The key to set
v | The value to associate with `key`