spinedb_api.filters.tools

Tools and utilities to work with filters, manipulators and database URLs.

Module Contents

Functions

apply_filter_stack(db_map, stack)

Applies stack of filters and manipulator to given database map.

load_filters(configs)

Loads filter configurations from disk as needed and constructs a filter stack.

store_filter(config, out)

Writes filter config to an output stream.

filter_config(filter_type, value)

Creates a config dict for filter of given type.

append_filter_config(url, config)

Appends a filter config to given url.

filter_configs(url)

Returns filter configs or file paths from given URL.

pop_filter_configs(url)

Pops filter config files and dicts from URL's query part.

clear_filter_configs(url)

Removes filter configuration queries from given URL.

ensure_filtering(url[, fallback_alternative])

Appends fallback filters to given url if it does not contain corresponding filter already.

config_to_shorthand(config)

Converts a filter config dictionary to shorthand.

name_from_dict(config)

Returns scenario name from filter config.

spinedb_api.filters.tools.apply_filter_stack(db_map, stack)[source]

Applies stack of filters and manipulator to given database map.

Parameters:
  • db_map (DatabaseMapping) – a database map

  • stack (list) – a stack of database filters and manipulators

spinedb_api.filters.tools.load_filters(configs)[source]

Loads filter configurations from disk as needed and constructs a filter stack.

Parameters:

configs (list) – list of filter config dicts and paths to filter configuration files

Returns:

filter stack

Return type:

list of dict

spinedb_api.filters.tools.store_filter(config, out)[source]

Writes filter config to an output stream.

Parameters:
  • config (dict) – filter config to write

  • out (TextIOBase) – a file-like object that supports writing

spinedb_api.filters.tools.filter_config(filter_type, value)[source]

Creates a config dict for filter of given type.

Parameters:
  • filter_type (str) – the filter type (e.g. “scenario_filter”)

  • value (object) – the filter value (e.g. scenario name)

Returns:

filter configuration

Return type:

dict

spinedb_api.filters.tools.append_filter_config(url, config)[source]

Appends a filter config to given url.

config can either be a configuration dictionary or a path to a JSON file that contains the dictionary.

Parameters:
  • url (str) – base URL

  • config (str or dict) – path to the config file or config as a dict.

Returns:

the modified URL

Return type:

str

spinedb_api.filters.tools.filter_configs(url)[source]

Returns filter configs or file paths from given URL.

Parameters:

url (str) – a URL

Returns:

a list of filter configs

Return type:

list

spinedb_api.filters.tools.pop_filter_configs(url)[source]

Pops filter config files and dicts from URL’s query part.

Parameters:

url (str) – a URL

Returns:

a list of filter configs and the ‘popped from’ URL

Return type:

tuple

spinedb_api.filters.tools.clear_filter_configs(url)[source]

Removes filter configuration queries from given URL.

Parameters:

url (str) – a URL

Returns:

a cleared URL

Return type:

str

spinedb_api.filters.tools.ensure_filtering(url, fallback_alternative=None)[source]

Appends fallback filters to given url if it does not contain corresponding filter already.

Parameters:
  • url (str) – database URL

  • fallback_alternative (str, optional) – fallback alternative if URL does not contain scenario or alternative filters

Returns:

database URL

Return type:

str

spinedb_api.filters.tools.config_to_shorthand(config)[source]

Converts a filter config dictionary to shorthand.

Parameters:

config (dict) – filter configuration

Returns:

config shorthand

Return type:

str

spinedb_api.filters.tools.name_from_dict(config)[source]

Returns scenario name from filter config.

Parameters:

config (dict) – filter configuration

Returns:

name or None if config is not a valid ‘name’ filter configuration

Return type:

str