interface - Configurations
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 callingConfig.create_mapping()
- If you do not know wheter your task requires a
Config
or aStaticConfig
, then it's most likely you should use aStaticConfig
for better performance
Static variables
Variable | Description |
---|---|
Config.DEFAULT_LOG_LEVEL | This 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_TYPE | This 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
Function | Parameters | Return Value | Description |
---|---|---|---|
Config.__enter__(self) | Config instance | Enters the context. | |
Config.__eq__(self, other) | other: Another Config instance | True or False | Check 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) | Integer | Returns a hash based on UUID | |
Config.__init__(self, config_id) | config_id: UUID | Config instance or None if the config_id is not valid | Initializes 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 None | Makes 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 mapping | Creates 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 mappings | Get a list of all mappings that belong to this config. | |
Config.get_function_mapping(self) | A list of mappings | Get a list of all enrichers, converters, and validators that belong to this config. | |
Config.get_invalid_mappings(self) | A list of mappings | Get a list of all mappings which the sanity check defines as invalid. | |
Config.get_mapping(self) | A list of mappings | Get a list of all top level mappings, sorted by position. | |
Config.get_pool_mapping(self) | A list of mappings | Get a list of all pool mappings. | |
Config.get_source_mapping(self) | A list of mappings | Get a list of all source mappings. | |
Config.get_specific_mappings(self, mapping_type) | mapping_type: ppms.interface.MappingType | A list of mappings | Get a list of mappings of a specific type |
Config.get_step_one_mapping(self) | A list of mappings | Get 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 mappings | Get 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 mappings | Get a list of all target mappings | |
Config.get_validation_hash(self) | UUID | Calculate 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
Function | Parameters | Return Value | Description |
---|---|---|---|
Config.create(cls, creation_parameters) | creation_parameters: Any python id from table 560 that should have a custom value | A 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
Property | Getter | Setter | Description |
---|---|---|---|
Config.amount_of_log_records | Returns the number of log records associated with this config | ||
Config.cancel_threshold_percent | Cancellation limit (%) | ||
Config.cancel_threshold_seconds | Cancellation limit (seconds) | ||
Config.config_hash | Configuration hash | ||
Config.copy_of | Copy of | ||
Config.description | Name | ||
Config.finished | Completed | ||
Config.has_log_records | True 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_step | True when the configuration has a pool step in its mapping | ||
Config.hidden | Hidden | ||
Config.is_valid | True when the configuration passes all sanity checks. | ||
Config.last_run_as_number | Result last run as a number | ||
Config.locked | Locked | ||
Config.log_content | Returns all logging associated with this configuration as one string. The rows are prefixed with a timestamp. | ||
Config.log_content_without_prefix | Returns all logging associated with this configuration as one string, but without a timestamp prefix | ||
Config.log_level | Log level | ||
Config.log_type | Log type | ||
Config.logfile_path | Returns 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_type | Mapping type | ||
Config.parameters | Returns all module parameters for this configuration depending on the active system | ||
Config.parent | Returns 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_name | Pool module subclass name | ||
Config.pool_module | Pool module | ||
Config.pool_table | Pool table | ||
Config.source_mod_class_name | Source module subclass name | ||
Config.source_module | Source module | ||
Config.target_mod_class_name | Target module subclass name | ||
Config.target_module | Target module | ||
Config.template | Template | ||
Config.transaction_type | Transaction type | ||
Config.transferred_on | Completed on | ||
Config.validated_parameters | Only 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 callStaticConfig.refresh()
- This class is much faster for executing and sanity-checking interfaces, but slower when you create interfaces programmatically
Methods
Function | Parameters | Return Value | Description |
---|---|---|---|
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
whenRegtestConfig.error()
is called
Static variables
Variable | Description |
---|---|
RegtestConfig.DEFAULT_LOG_LEVEL | This 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_TYPE | This 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 |