spinetoolbox.spine_db_editor.mvcmodels.pivot_model

Provides PivotModel.

Module Contents

Classes

PivotModel

class spinetoolbox.spine_db_editor.mvcmodels.pivot_model.PivotModel[source]
property rows[source]
property columns[source]
reset_model(data, top_left_headers=(), rows=(), columns=(), frozen=(), frozen_value=())[source]

Resets the model.

clear_model()[source]
update_model(data)[source]
add_to_model(data)[source]

Adds data to model.

Parameters:

data (dict) – pivot model data

Returns:

added row count and added column count

Return type:

tuple

remove_from_model(data)[source]
frozen_values(data)[source]

Collects frozen values from data.

Parameters:

data (dict) – pivot model data

Returns:

frozen values

Return type:

set of tuple

_check_pivot(rows, columns, frozen, frozen_value)[source]

Checks if given pivot is valid.

Returns:

error message or None if no error

Return type:

str, NoneType

_index_key_getter(indexes)[source]

Returns an itemgetter that always returns tuples from list of indexes

Parameters:

indexes (tuple)

Returns:

an itemgetter

Return type:

Callable

_get_unique_index_values(indexes)[source]

Returns unique indexes that match the frozen condition.

Parameters:

indexes (tuple) – indexes to match

Returns:

unique indexes

Return type:

list

set_pivot(rows, columns, frozen, frozen_value)[source]

Sets pivot.

set_frozen_value(value)[source]

Sets values for the frozen indexes.

Parameters:

value (tuple of str)

set_frozen(frozen)[source]

Sets the frozen names without resetting the pivot.

Parameters:

frozen (Iterable of str)

get_pivoted_data(row_mask, column_mask)[source]

Returns data for indexes in row_mask and column_mask.

Parameters:
  • row_mask (list)

  • column_mask (list)

Returns:

list(list)

row_key(row)[source]
column_key(column)[source]