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]