deseasion.backend.models.project_data_utils module

class deseasion.backend.models.project_data_utils.ProjectDataProcessingService

Bases: object

detach_input(data: ProjectData, removable_input_data: list[ProjectData])

Detach input from project data.

Only necessary to remove operands/criteria/default values from processing models that used to use those inputs.

Parameters:
  • data

  • removable_input_data – sequence of data inputs to remove

Note

do not actually remove input, simply clean afterwards

get_input_graph(data: ProjectData) dict[ProjectData, list[ProjectData]]

Return graph of input data spanning from current project data.

Parameters:

data

Returns:

get_output_graph(data: ProjectData) dict[ProjectData, list[ProjectData]]

Return graph of output data spanning from current project data.

Parameters:

data

Returns:

get_project_data_graph(project: Project) dict[ProjectData, list[ProjectData]]

Return complete project data graph.

Parameters:

project

Returns:

rename_data(data: ProjectData, new_name: str)

Rename project data and modify models using it.

Parameters:
  • data

  • new_name – new project data name

replace_input_attributes(data: ProjectData, attributes_mapping: dict[DataAttribute, DataAttribute])

Replace input attributes of project data by new ones.

Parameters:
  • data

  • attributes_mapping – mapping of old attributes to new ones

Raises:
  • ValueError

    • if some new attributes introduced were already in the data inputs

    • if attributes from a different project are used

  • TypeError – if an attribute has changed its type