diplomat.processing.Config

class diplomat.processing.Config(*args, **kwargs)[source]

Bases: UserDict

Represents a configuration of settings. Is a dictionary with support for attribute style access of keys, and also allows for a backing dictionary, which can control what values are allowed to be stored in this configuration.

__init__(*args, **kwargs)[source]

Create a new configuration dictionary:

Parameters:
  • args – Only accepts 2 non-keyword arguments, the data, and a backing dictionary. See set_backing for more info.

  • kwargs – Optional, additional keys and values to add to the dictionary.

Methods

__init__(*args, **kwargs)

Create a new configuration dictionary:

clear()

copy()

extract(data)

fromkeys(iterable[, value])

get(k[,d])

items()

keys()

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

set_backing(back_dict)

Set the backing dictionary for this config object.

setdefault(k[,d])

update([E, ]**F)

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

clear() None.  Remove all items from D.
get(k[, d]) D[k] if k in D, else d.  d defaults to None.
items() a set-like object providing a view on D's items
keys() a set-like object providing a view on D's keys
pop(k[, d]) v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

set_backing(back_dict: Dict[str, Tuple[T, TypeCaster[T], str]])[source]

Set the backing dictionary for this config object.

Parameters:

back_dict

A dictionary of strings (key names) to length 3 tuples. The tuples contain the following values in order:

  • E: The default value for this setting.

  • TypeCaster[E]: A casting function, to convert or check passed values are of the right type.

  • str: The description of this setting, not used here…

setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) None.  Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() an object providing a view on D's values