HierarchicalDict

Provides tools to handle / print hierarchical parameter dictionaries.

Example

>>> import ClearMap.Utils.HierarchicalDict as hdict
>>> d = dict(x = 10, y = 100, z = dict(a = 10, b = 20));
>>> print(hdict.get(d, 'z_a'))
10
>>>  hdict.set(d, 'z_c_q', 42)
>>> hdict.pprint(d)
x: 10
y: 100
z: dict
   a: 10
   b: 20
   c: dict
      q: 42
get(parameter, key, default=None)[source]

Gets a parameter from a dict, returns default value if not defined

Arguments

parameterdict

Parameter dictionary.

keyobject

Parameter key

defaultobject

Default value if parameter not defined.

Returns

valueobject

Parameter value for key.

join(*args)[source]

Joins dictionaries in a consitent way

Arguments

argsdicts

The parameter dictonaries to join.

Returns

joindict

The joined dictionary.

pprint(parameter=None, head=None, **args)[source]

Prints parameter settings in a formatted way.

Arguments

parameterdict

Parameter dictionary.

headstr or None

prefix of each line

args

Additional parameter values as key=value arguments.

prepend(parameter, key)[source]

Adds a hierarchical key infront of all the parameter keys in a dictionary.

Arguments

parameterdict

Parameter dictonary.

keystr

Key to add infronat of the dictionary keys.

Returns

prependdict

The dictionary with modified keys.

set(parameter, key=None, value=None, **kwargs)[source]

Sets a parameter in a hierarchical dicitionary.

Arguments

parameterdict

Parameter dictionary.

keyobject

Key in dictionary.

valueobject

Value to set.

kwargs

Key : value pairs.

Returns

parameterdict

Parameter dictionary.

write(parameter=None, head=None, **kwargs)[source]

Writes parameter settings in a formatted way.

Arguments

parameterdict

Parameter dictionary.

headstr or None

Optional prefix of each line.

kwargs

Additional parameter values as key=value arguments.

Returns

stringstr

A formated string with parameter info.