This topic discusses the configuration classes of the PLANTA link API.

Classes

Config

The Config class is the base class that wraps a record from table 560

  • It allows you to query almost all of the attributes a configuration has
  • You can create new configurations by calling Config.create() and new mappings by calling Config.create_mapping()
  • If you do not know wheter your task requires a Config or a StaticConfig, then it's most likely you should use a StaticConfig for better performance

Static variables

VariableDescription
Config.DEFAULT_LOG_LEVELThis configures the default Log level when a new Config is created with Config.create() and no explicit log level is given. The default is PLANTALogLevel.INFO
Config.DEFAULT_LOG_TYPEThis configures the default Log type when a new Config is created with COnfig.create() and no explicit log type is given. The default is PLANTALogType.PLANTA_LOGGING

Methods

FunctionParametersReturn ValueDescription
Config.__enter__(self)
Config instanceEnters the context.
Config.__eq__(self, other)other: Another Config instanceTrue or FalseCheck whether a Config is equal to another
Config.__exit__(self, *exc_details)exc_details: Exception details
Deletes the instance when the context is left
Config.__hash__(self)
IntegerReturns a hash based on UUID
Config.__init__(self, config_id)config_id: UUIDConfig instance or None if the config_id is not validInitializes a new Config object
Config.copy(self, invoker_module, pass_on_config_hash=True)invoker_module: A module instance

pass_on_config_hash: True or False
Copied instance or NoneMakes a copy of a configuration. The class of the child is based on the class of the invoking config instance. When pass_on_config_hash is True, the parent will be sanity-checked before copying and the hash is only passed on if the parent was valid.
Config.create_mapping(self, type, creation_parameters)type: ppms.interface.MappingType
creation_parameters: Any python id from table 562 that should have a custom value
Newly created mappingCreates a new mapping that belongs to this configuration
Config.delete(self)

Deletes the configuration and all child objects
Config.delete_logging(self)

Deletes all logging records that belong to this configuration as well as the physical log file, if it exists
Config.delete_mappings(self)

Deletes all mappings that belong to this configuration
Config.delete_parameters(self)

Deletes all parameters that belong to this configuration
Config.generate_and_clean_up_parameters(self)

Populates the parameter table with the parameters defined by the source/pool/target module of this configuration. Superfluous parameters are removed. Note that this has no effect on a finished configuration.
Config.generate_export_mapping(self)

Generate a mapping based on the customizing of the source module
Config.generate_import_mapping(self)

Generate a mapping based on the customizing of the target module
Config.generate_mapping_by_position(self)

Generate a mapping based on the positions of the data items in the source and target module
Config.generate_mapping_from_python_ids(self)

Generate a mapping based on matching python ids in the source and target module
Config.get_all_mappings(self)
A list of mappingsGet a list of all mappings that belong to this config.
Config.get_function_mapping(self)
A list of mappingsGet a list of all enrichers, converters, and validators that belong to this config.
Config.get_invalid_mappings(self)
A list of mappingsGet a list of all mappings which the sanity check defines as invalid.
Config.get_mapping(self)
A list of mappingsGet a list of all top level mappings, sorted by position.
Config.get_pool_mapping(self)
A list of mappingsGet a list of all pool mappings.
Config.get_source_mapping(self)
A list of mappingsGet a list of all source mappings.
Config.get_specific_mappings(self, mapping_type)mapping_type: ppms.interface.MappingTypeA list of mappingsGet a list of mappings of a specific type
Config.get_step_one_mapping(self)
A list of mappingsGet all source mappings that are relevant for the source -> pool transfer step. The mappings returned by this function are a copy of the internal data structure with children that are not relevant for step one removed.
Config.get_step_two_mapping(self)
A list of mappingsGet all the source and pool mappings that are relevant for the source/pool -> target transfer step. The mappings returned by this function are not a copy of the internal data structure.
Config.get_target_mapping(self)
A list of mappingsGet a list of all target mappings
Config.get_validation_hash(self)
UUIDCalculate a hash over all parts of an interface that can be modified by the user and sanity-checked by PLANTA link.
Config.modify_parameter(self, source, key, value, system_id=None)source: MOD of the module which defines the parameter
key: The name of the parameter
value: The value that it should be set to

system_id: UUID

Modify a parameter of a configuration. When system_id is None, the parameter is changed in the currently active system.

Classmethods

FunctionParametersReturn ValueDescription
Config.create(cls, creation_parameters)creation_parameters: Any python id from table 560 that should have a custom valueA instance of the newly created configuration. The class is based on the class which calls create().Create a new configuration record. If the configuration could not be created a ValueError is raised.

Properties

PropertyGetterSetterDescription
Config.amount_of_log_recordsReturns the number of log records associated with this config
Config.cancel_threshold_percentCancellation limit (%)
Config.cancel_threshold_secondsCancellation limit (seconds)
Config.config_hashConfiguration hash
Config.copy_ofCopy of
Config.descriptionName
Config.finishedCompleted
Config.has_log_recordsTrue when there are log records associated with this config. Only makes sense when the Config.log_type is configured as PLANTALogType.PLANTA_LOGGING
Config.has_pool_stepTrue when the configuration has a pool step in its mapping
Config.hiddenHidden
Config.is_validTrue when the configuration passes all sanity checks.
Config.last_run_as_numberResult last run as a number
Config.lockedLocked
Config.log_contentReturns all logging associated with this configuration as one string. The rows are prefixed with a timestamp.
Config.log_content_without_prefixReturns all logging associated with this configuration as one string, but without a timestamp prefix
Config.log_levelLog level
Config.log_typeLog type
Config.logfile_pathReturns the path where all logging of this configuration is written. Only makes sense when the Config.log_type is set to PLANTALogType.FILE_LOGGING
Config.mapping_generator_typeMapping type
Config.parametersReturns all module parameters for this configuration depending on the active system
Config.parentReturns an instance of the configuration from which this configuration was copied. If the config has no parent, None is returned. The class of the parent instance will be the same as the class of the calling instance.
Config.pool_mod_class_namePool module subclass name
Config.pool_modulePool module
Config.pool_tablePool table
Config.source_mod_class_nameSource module subclass name
Config.source_moduleSource module
Config.target_mod_class_nameTarget module subclass name
Config.target_moduleTarget module
Config.templateTemplate
Config.transaction_typeTransaction type
Config.transferred_onCompleted on
Config.validated_parametersOnly returns those module parameters for this configuration that have a ParameterValidator attached to them.

StaticConfig

The StaticConfig class is a more performant version of the Config class

  • Instead of lazy-loading the mapping when it is requested, the StaticConfig class fetches all mappings when initializing the class
  • This means that if you make any modification to the mapping of the interface, the StaticConfig instance will not know about the changes until you call StaticConfig.refresh()
  • This class is much faster for executing and sanity-checking interfaces, but slower when you create interfaces programmatically

Methods

FunctionParametersReturn ValueDescription
StaticConfig.refresh(self)

Calling refresh() will trigger an instance fetch of all of its mappings again and update the internal state

RegtestConfig

The RegtestConfig class is used for unittesting PLANTA link

  • By default it doesn't write its log data into the database or filesystem but instead it just keeps it in RAM
  • Instead of logging errors, it raises a ValueError when RegtestConfig.error() is called

Static variables

VariableDescription
RegtestConfig.DEFAULT_LOG_LEVELThis configures the default Log-Level when a new RegtestConfig is created with RegtestConfig.create() and no explicit log level is given. The default is PLANTALogLevel.DEBUG
RegtestConfig.DEFAULT_LOG_TYPEThis configures the default Log-Typ when a new RegtestConfig is created with RegtestConfig.create() and no explicit log type is given. The default is PLANTALogType.STREAM_LOGGING