Access python dicts using path strings (mainly just doing this to l2submodule)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
whut fcea97019e defaults should clobber 1 jaar geleden
src defaults should clobber 1 jaar geleden
.gitignore itbegins.xcf 1 jaar geleden
LICENSE itbegins.xcf 1 jaar geleden
README.md itbegins.xcf 1 jaar geleden
pyproject.toml itbegins.xcf 1 jaar geleden

README.md

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.