|
12345678910111213141516171819202122 |
- A really simple library for accessing dictionary items using paths. Meant to make working with configuration files easier.
-
- ## quick-n-dirty documentalation
- The class you want is `confthing.Config(data, delimiter = "/", defaults = {}, requirements = [], **misc_options)`.
- - `data` is the dict you want to wrap the class around.
- - `delimiter` is whatever you want to use as a path delimiter.
- - `defaults` is a dict whose keys are paths and values are the default values for each path.
- - `requirements` is a list of paths that must be defined, otherwise MissingRequirementError is raised.
- - Miscellaneous options are as follows:
- - `strict_subscript`: when True, enables strict mode when getting items via subscript. Default is False.
- - `clobber_subscript`: when True, enables clobber mode when setting items via subscript. Default is False.
-
- ### Methods
-
- #### `get(path, fallback = None, strict = False)`
- Tries to return the value at the specified path, otherwise returns the fallback value (or raises PathNotFoundError if `strict` is True).
-
- #### `set(path, value, clobber = False)`
- Tries to set the value at the specified path. If it encounters an item that isn't a dict, it'll raise NotDictError if `clobber` is False, or it'll replace that with an empty dict.
-
- #### Subscripting
- Config objects are subscriptable, calling `get` and `set` as appropriate. The two `subscript` options control what `strict` and `clobber` are set to when subscripting.
|