spinedb_api.filters.tools

This module contains tools and utilities to work with filters.

Functions

apply_filter_stack(→ None)

Applies filters given as config dicts in stack to a 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(→ str)

Appends a filter config to given url.

filter_configs(→ list[dict])

Returns filter config dicts or file paths to config JSON from given URL.

pop_filter_configs(url)

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

clear_filter_configs(→ str)

Removes filters from given URL returning the cleared 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(→ Optional[str])

Returns scenario name from scenario filter config dict or None for other filter types.

Module Contents

spinedb_api.filters.tools.apply_filter_stack(db_map: spinedb_api.db_mapping.DatabaseMapping, stack: collections.abc.Iterable[dict]) None[source]

Applies filters given as config dicts in stack to a database map.

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: str, config: dict | str) str[source]

Appends a filter config to given url.

config can either be a config dict, a shorthand, or a path to a JSON file that contains the dictionary.

spinedb_api.filters.tools.filter_configs(url: str) list[dict][source]

Returns filter config dicts or file paths to config JSON from given URL.

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: str) str[source]

Removes filters from given URL returning the cleared URL.

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: dict) str | None[source]

Returns scenario name from scenario filter config dict or None for other filter types.