Back to bricks list
Introduction Version

ProtocolModel

Base abstract class for Process and Protocol

:param Viewable: [description] :type Viewable: [type]

Attributes

config: Configdata: Dict[str, Any]error_info: ProcessErrorInfolayout: ProtocolLayoutprogress_bar: ProgressBarscenario: Scenariostatus: ProcessStatusstyle: TypingStyle

Functions

__INIT__

Constructor

ADD_CONNECTOR

Adds a connector to the pfrotocol.

Parameters:
NameTypeDefault valueDescription
from_process_namestr
from_port_namestr
to_process_namestr
to_port_namestr
Return type:
Connector
ADD_CONNECTORS
Parameters:
NameTypeDefault valueDescription
connectorsList
ADD_INTERFACE
Parameters:
NameTypeDefault valueDescription
namestr
process_namestr
port_namestr
Return type:
IOface
ADD_INTERFACES
Parameters:
NameTypeDefault valueDescription
interfacesDict
ADD_INTERFACES_FROM_DTO
Parameters:
NameTypeDefault valueDescription
interfacesDict
ADD_OUTERFACE
Parameters:
NameTypeDefault valueDescription
namestr
process_namestr
port_namestr
Return type:
IOface
ADD_OUTERFACES
Parameters:
NameTypeDefault valueDescription
outerfacesDict
ADD_OUTERFACES_FROM_DTO
Parameters:
NameTypeDefault valueDescription
outerfacesDict
ADD_PROCESS_MODEL

Adds a process to the protocol.

Parameters:
NameTypeDefault valueDescription
process_modelProcessModel
instance_namestr Unique name of the process. if none, the name is generated
ALL_PROCESSES_ARE_DRAFT

Return True if all the processes are in draft

Return type:
bool
ALL_PROCESSES_ARE_SUCCESS

Return True if all the processes are in success

Return type:
bool
ARCHIVE
CHECK_IS_UPDATABLE
Parameters:
NameTypeDefault valueDescription
error_if_finishedbool True
CLONE
COERCE
Parameters:
NameTypeDefault valueDescription
_coercebool True
DELETE_CONNECTOR_FROM_RIGHT

remove the connector which right side is connected to the specified port of the specified process return the list of deleted connectors

Parameters:
NameTypeDefault valueDescription
right_process_namestr
right_process_port_namestr
Return type:
Optional
DELETE_CONNECTORS_FROM_LEFT

remove the connector which left side is connected to the specified port of the specified process It can remove multiple connectors if there are multiple connectors connected to the same port Return the list of deleted connectors

Parameters:
NameTypeDefault valueDescription
left_process_namestr
left_process_port_namestr
DELETE_INSTANCE
DEPENDENCIES
Parameters:
NameTypeDefault valueDescription
search_nullablebool False
GENERATE_INTERFACE_NAME

Generate a unique interface name

Return type:
str
GENERATE_OUTERFACE_NAME

Generate a unique outerface name

Return type:
str
GENERATE_UNIQUE_INSTANCE_NAME

Generate a unique instance name from an instance_name by adding _1 or _2... to the end of the instance name

Parameters:
NameTypeDefault valueDescription
instance_namestr
Return type:
str
GET_ALL_NEXT_PROCESSES

Returns all the next processes of a process in this protocol and parent protocols.

Parameters:
NameTypeDefault valueDescription
process_namestr
check_parent_protocolbool True If true, the next processes of the parent protocol are also returned
check_circular_connexionbool False If true, check if there is a circular connexion and raise an exception
Return type:
Set
GET_ALL_PROCESSES_FLATTEN_SORT_BY_START_DATE

Return all the processes of the protocol and its sub protocols, sorted by start date

Return type:
List
GET_CONNECTOR_FROM_RIGHT

Returns a connector by the destination process and port

Parameters:
NameTypeDefault valueDescription
right_process_namestr
right_process_port_namestr
Return type:
Optional
GET_CONNECTORS_FROM_LEFT

Returns a connector by the destination process and port

Parameters:
NameTypeDefault valueDescription
left_process_namestr
left_process_port_namestr
Return type:
List
GET_DIRECT_NEXT_PROCESSES

Returns the next processes of a process.

Parameters:
NameTypeDefault valueDescription
process_namestr
Return type:
Set
GET_DIRECT_PREVIOUS_PROCESSES

Returns the previous processes of a process.

Parameters:
NameTypeDefault valueDescription
process_namestr
Return type:
Set
GET_ERROR_INFO
Return type:
Optional[ProcessErrorInfo]
GET_ERROR_TASKS
Return type:
List
GET_EXECUTION_TIME

Return the execution time of the process

Return type:
float
GET_GRAPH

Return the graph json object

Return type:
ProtocolMinimumDTO
GET_ID
GET_INPUT_RESOURCE_IDS
Return type:
Set
GET_INSTANCE_NAME_CONTEXT

return the instance name in the context

Return type:
str
GET_INSTANCE_PATH

Return the instance path

Return type:
str
GET_INTERFACES_LINKED_TO_PROCESS

Returns the interfaces linked to a process

Parameters:
NameTypeDefault valueDescription
process_instance_namestr
Return type:
List
GET_LAST_MESSAGE

Return the last message of the process

Return type:
Optional[ProgressBarMessageDTO]
GET_NAME

Return the name of the process

Return type:
str
GET_OUTERFACE_LINKED_TO_PROCESS

Returns the outerface linked to the process with the given name

Parameters:
NameTypeDefault valueDescription
process_instance_namestr
Return type:
List
GET_PROCESS

Returns a process by its name.

Parameters:
NameTypeDefault valueDescription
namestr
Return type:
ProcessModel
GET_PROCESS_BY_INSTANCE_PATH

Returns a process by its instance path.

Parameters:
NameTypeDefault valueDescription
instance_pathstr
Return type:
ProcessModel
GET_PROCESS_TYPE
Return type:
Type[Process]
GET_PROCESS_TYPING
Return type:
Typing
GET_PROGRESS_VALUE

Return the last message of the process

Return type:
float
GET_PROTOCOL_CHAIN_INFO

return a string with the information up to the main protocol

Return type:
str
GET_RUNNING_TASK

Return the running process, go through all the sub protocols

Return type:
Optional
GET_STYLE

Return the style of the process

Return type:
TypingStyle
HAS_FINISHED_PROCESSES

Return True if the protocol has finished processes (except the auto run processes)

Return type:
bool
IN_PORT

Returns the port of the inputs by its name.

Parameters:
NameTypeDefault valueDescription
port_namestr
Return type:
InPort
INIT_CONNECTORS_FROM_GRAPH
Parameters:
NameTypeDefault valueDescription
linksList
check_compatiblitybool True
INIT_PROCESSES_FROM_GRAPH
Parameters:
NameTypeDefault valueDescription
sub_process_factoryProtocolSubProcessBuilder
IS_ALIAS
IS_AUTO_RUN

Return true if the process is automatically run when added to a protocol

Return type:
bool
IS_DIRTY
IS_ENABLE_IN_SUB_PROTOCOL

Return true if the process is enable in sub protocol

Return type:
bool
IS_INPUT_TASK

return true if the process is of type InputTask

Return type:
bool
IS_INTERFACED_WITH

Returns True if the input poort the process is an interface of the protocol

Parameters:
NameTypeDefault valueDescription
process_instance_namestr
Return type:
bool
IS_OUTERFACED_WITH

Returns True if the input poort the process is an outerface of the protocol

Parameters:
NameTypeDefault valueDescription
process_instance_namestr
Return type:
bool
IS_OUTPUT_TASK

return true if the process is of type OutputTask

Return type:
bool
IS_PROTOCOL
Return type:
bool
IS_ROOT_PROCESS
Return type:
bool
IS_SAVED

Returns True if the model is saved in db, False otherwise

Return type:
bool
MARK_AS_DRAFT
MARK_AS_ERROR
Parameters:
NameTypeDefault valueDescription
error_infoProcessErrorInfo
MARK_AS_ERROR_AND_PARENT
Parameters:
NameTypeDefault valueDescription
process_errorProcessRunException
contextstr
MARK_AS_STARTED
MARK_AS_SUCCESS
MARK_AS_WAITING_FOR_CLI_PROCESS
OUT_PORT

Returns the port of the outputs by its name.

Parameters:
NameTypeDefault valueDescription
port_namestr
Return type:
OutPort
PORT_IS_INTERFACE

Return True if the port of the process is an interface of the protocol

Parameters:
NameTypeDefault valueDescription
process_instance_namestr
port_nameAny
Return type:
bool
PROCESS_IS_READY
Parameters:
NameTypeDefault valueDescription
processProcessModel
Return type:
bool
PROPAGATE_RESOURCES
REFRESH
Return type:
ModelType
REFRESH_GRAPH_FROM_DUMP

Refresh the graph json object inside the data from the dump method

REFRESH_STATUS

Refresh the status of the protocol based on the status of its processes

Parameters:
NameTypeDefault valueDescription
refresh_parentbool True
REMOVE_INTERFACE

Remove an interface

:raises BadRequestException: description

Parameters:
NameTypeDefault valueDescription
namestr _description_
REMOVE_INTERFACES_BY_PROCESS_NAME

Remove the interface linked the process with the given name

Parameters:
NameTypeDefault valueDescription
process_namestr
REMOVE_OUTERFACE
Parameters:
NameTypeDefault valueDescription
namestr
REMOVE_OUTERFACES_BY_PROCESS_NAME

Remove the outerfaces linked to the process with the given name

Parameters:
NameTypeDefault valueDescription
process_instance_namestr
REMOVE_PROCESS
Parameters:
NameTypeDefault valueDescription
namestr
REPLACE_IO_PROCESS_WITH_IOFACE

Method to replace each Input process with an interface and each Output process with an outerface. It does not replace on sub protocols

RESET
RUN

Run the process and save its state in the database.

RUN_AUTO_RUN_PROCESSES

Run all the auto run processes of the protocol

RUN_PROCESS

Method to run a single process of the protocol

Parameters:
NameTypeDefault valueDescription
process_instance_namestr Process to run
SAVE

Override save to save the inputs and outputs

Return type:
'ProcessModel'
SAVE_FULL
SAVE_GRAPH
Return type:
ProtocolModel
SET_CONFIG

Set the config object

Parameters:
NameTypeDefault valueDescription
configConfig [description] paramsdict
SET_CONFIG_VALUE

Set a value of the config

Parameters:
NameTypeDefault valueDescription
param_namestr [description]
valueAny [description]
SET_CONFIG_VALUES

Set the config values

Parameters:
NameTypeDefault valueDescription
config_valuesConfigParamsDict [description] dict[str, any]
SET_ERROR_INFO
Parameters:
NameTypeDefault valueDescription
error_infoProcessErrorInfo
SET_INPUTS_FROM_DTO

Set the inputs from a DTO

Parameters:
NameTypeDefault valueDescription
inputs_dtoIODTO
resetbool False
SET_INPUTS_FROM_SPECS

Set the inputs from specs

Parameters:
NameTypeDefault valueDescription
inputs_specsIOSpecs
SET_OUTPUTS_FROM_DTO

Set the outputs from a DTO

Parameters:
NameTypeDefault valueDescription
outputs_dtoIODTO
resetbool False
SET_OUTPUTS_FROM_SPECS

Set the outputs from specs

Parameters:
NameTypeDefault valueDescription
outputs_specsIOSpecs
SET_PARENT_PROTOCOL

Sets the parent protocol of the process

Parameters:
NameTypeDefault valueDescription
parent_protocolProtocolModel
SET_PROCESS_TYPE
Parameters:
NameTypeDefault valueDescription
process_typeType[Process]
SET_SCENARIO
Parameters:
NameTypeDefault valueDescription
scenarioAny
TO_CONFIG_DTO

Return the config DTO

Parameters:
NameTypeDefault valueDescription
ignore_source_configbool False
Return type:
ProcessConfigDTO
TO_DTO
Return type:
ProcessDTO
TO_MINIMUM_DTO

Return the minium json to recognize this process

Return type:
ProcessMinimumDTO
TO_PROTOCOL_CONFIG_DTO
Parameters:
NameTypeDefault valueDescription
ignore_source_configbool False
Return type:
ProtocolGraphConfigDTO
TO_PROTOCOL_DTO
Return type:
ProtocolDTO
TO_PROTOCOL_FULL_DTO
Return type:
ProtocolFullDTO
TO_PROTOCOL_MINIMUM_DTO
Return type:
ProtocolMinimumDTO
UNWRAP
ADD_INDEX - @classmethod
Parameters:
NameTypeDefault valueDescription
fieldsAny
AFTER_ALL_TABLES_INIT - @classmethod

Method call after all the table are inited

Useful when use DeferredForeignKey to create the foreign key manually latter

AFTER_TABLE_CREATION - @classmethod

Method call after the table is created

Usefull to create the full text indexes

ALIAS - @classmethod
Parameters:
NameTypeDefault valueDescription
aliasAny
BIND - @classmethod
Parameters:
NameTypeDefault valueDescription
databaseAny
bind_refsbool True
bind_backrefsbool True
_excludeAny
BIND_CTX - @classmethod
Parameters:
NameTypeDefault valueDescription
databaseAny
bind_refsbool True
bind_backrefsbool True
BULK_CREATE - @classmethod
Parameters:
NameTypeDefault valueDescription
model_listAny
batch_sizeAny
BULK_UPDATE - @classmethod
Parameters:
NameTypeDefault valueDescription
model_listAny
fieldsAny
batch_sizeAny
CLASSNAME - @classmethod

Returns the name of the class

Parameters:
NameTypeDefault valueDescription
slugifybool False True to slugify the class name if true, defaults to false , optional
snakefybool False True to snakefy the class name if true, defaults to false , optional
replace_uppercasebool False Replace upper cases by "-" if true, defaults to false , optional
Return type:
str
COLUMN_EXISTS - @classmethod

Returns True if the column exists in the table

Parameters:
NameTypeDefault valueDescription
column_namestr The column name ``
Return type:
bool
CREATE - @classmethod
Parameters:
NameTypeDefault valueDescription
queryAny
CREATE_FOREIGN_KEY_IF_NOT_EXIST - @classmethod

Create a foreign key for a Foreign key field only if the foreign key does not exists

Parameters:
NameTypeDefault valueDescription
fieldForeignKeyField [description]
CREATE_FULL_TEXT_INDEX - @classmethod

Method to create a full text index

Parameters:
NameTypeDefault valueDescription
columnsList [description] [str]
index_namestr
CREATE_TABLE - @classmethod

Create model table

DECORATED_METHOD_NAMES - @classmethod
Parameters:
NameTypeDefault valueDescription
decorator_nameAny
DELETE - @classmethod
DELETE_BY_ID - @classmethod
Parameters:
NameTypeDefault valueDescription
pkAny
DROP_TABLE - @classmethod

Drop model table

EXECUTE_SQL - @classmethod

Execute a raw SQL query. Can use the [TABLE_NAME] to replace by the table name

Parameters:
NameTypeDefault valueDescription
querystr The query to execute ``
FILTER - @classmethod
Parameters:
NameTypeDefault valueDescription
dq_nodesAny
filtersAny
FOREIGN_KEY_EXISTS - @classmethod
Parameters:
NameTypeDefault valueDescription
column_namestr
Return type:
bool
FULL_CLASSNAME - @classmethod

Returns the full name of the class

Parameters:
NameTypeDefault valueDescription
slugifybool False Slugify the returned class name if true, defaults to false , optional
snakefybool False Snakefy the returned class name if true, defaults to false ``
Return type:
str
GET - @classmethod
Parameters:
NameTypeDefault valueDescription
queryAny
filtersAny
GET_BY_ID - @classmethod
Parameters:
NameTypeDefault valueDescription
idstr
Return type:
Optional
GET_BY_ID_AND_CHECK - @classmethod

Get by ID and throw 404 error if object not found

Parameters:
NameTypeDefault valueDescription
idstr [description]
Return type:
ModelType
GET_BY_IDS - @classmethod
Parameters:
NameTypeDefault valueDescription
idsList
Return type:
List
GET_DB - @classmethod
Return type:
DatabaseProxy
GET_DB_MANAGER - @classmethod

Returns the (current) DbManager of this model

Return type:
Type
GET_OR_CREATE - @classmethod
GET_OR_NONE - @classmethod
Parameters:
NameTypeDefault valueDescription
queryAny
filtersAny
GET_TABLE_NAME - @classmethod

Returns the table name of this class

Return type:
str
INDEX - @classmethod
Parameters:
NameTypeDefault valueDescription
fieldsAny
INDEX_EXISTS - @classmethod

Returns True if the index exists in the table

Parameters:
NameTypeDefault valueDescription
index_namestr The index name ``
Return type:
bool
INHERITORS - @classmethod

Get all the classes that inherit this class

Return type:
List
INSERT - @classmethod
Parameters:
NameTypeDefault valueDescription
_Model__dataAny
insertAny
INSERT_FROM - @classmethod
Parameters:
NameTypeDefault valueDescription
queryAny
fieldsAny
INSERT_MANY - @classmethod
Parameters:
NameTypeDefault valueDescription
rowsAny
fieldsAny
IS_MYSQL_ENGINE - @classmethod
METHOD_NAMES - @classmethod

Returns the list of the methods

Return type:
List
MODULE_NAME - @classmethod

Returns the module name of the class

Return type:
str
NOOP - @classmethod
PROPERTY_METHOD_NAMES - @classmethod
PROPERTY_NAMES - @classmethod

Retrieves the property names

Parameters:
NameTypeDefault valueDescription
instancetype The s of the properties to retrieve. set `none` to retrieve all. `type` or `union[type]`
excludetype
Return type:
List
RAW - @classmethod
Parameters:
NameTypeDefault valueDescription
sqlAny
paramsAny
REPLACE - @classmethod
Parameters:
NameTypeDefault valueDescription
_Model__dataAny
insertAny
REPLACE_MANY - @classmethod
Parameters:
NameTypeDefault valueDescription
rowsAny
fieldsAny
SAVE_ALL - @classmethod
SELECT - @classmethod
Parameters:
NameTypeDefault valueDescription
fieldsAny
SET_BY_ID - @classmethod
Parameters:
NameTypeDefault valueDescription
keyAny
valueAny
TABLE_EXISTS - @classmethod
TRUNCATE_TABLE - @classmethod
Parameters:
NameTypeDefault valueDescription
optionsAny
UPDATE - @classmethod
Parameters:
NameTypeDefault valueDescription
_Model__dataAny
updateAny
VALIDATE_MODEL - @classmethod
COPY - @staticmethod
Parameters:
NameTypeDefault valueDescription
methodAny