Utility functions¶
Utility functions for computing combinations of dimensions and hierarchy levels
- class cubes.common.IgnoringDictionary(*args, **kwds)¶
Initialize an ordered dictionary. The signature is the same as regular dictionaries, but keyword arguments are not recommended because their insertion order is arbitrary.
- set(key, value)¶
Sets value for key even if value is null.
- class cubes.common.MissingPackage(package, feature=None, source=None, comment=None)¶
Bogus class to handle missing optional packages - packages that are not necessarily required for Cubes, but are needed for certain features.
- cubes.common.localize_common(obj, trans)¶
Localize common attributes: label and description
- cubes.common.localize_attributes(attribs, translations)¶
Localize list of attributes. translations should be a dictionary with keys as attribute names, values are dictionaries with localizable attribute metadata, such as label or description.
- cubes.common.get_localizable_attributes(obj)¶
Returns a dictionary with localizable attributes of obj.
- cubes.common.assert_instance(obj, class_, label)¶
Raises ArgumentError when obj is not instance of cls
- cubes.common.assert_all_instances(list_, class_, label='object')¶
Raises ArgumentError when objects in list_ are not instances of cls
- cubes.common.read_json_file(path, kind=None)¶
Read a JSON from path. This is convenience function that provides more descriptive exception handling.
- cubes.common.sorted_dependencies(graph)¶
Return keys from deps ordered by dependency (topological sort). deps is a dictionary where keys are strings and values are list of strings where keys is assumed to be dependant on values.
Example:
A ---> B -+--> C | +--> D --> E
Will be: {"A": ["B"], "B": ["C", "D"], "D": ["E"],"E": []}