Task
dm.tasks.Task
Module providing the base task.
Task
The base class for tasks.
This class provides the basic functions shared by all tasks.
__init__(element, name)
Initializer.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
element
|
_Element
|
The xml element instantiating the task. |
required |
name
|
str
|
The name of the task. |
required |
basedir()
The base directory.
If an input file is used by the task, the base directory is the path to the input file.
Returns:
Type | Description |
---|---|
str | None
|
The base directory of the task, or None if no input file is used. |
checkAllowedAttributes(element, attributes)
Checks that only allowed attributes are provided.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
element
|
_Element
|
The element defining a task. |
required |
attributes
|
List[str]
|
The list of allowed attribute names. |
required |
Raises:
Type | Description |
---|---|
TaskException
|
if the element defining a task contains attributes that are not allowed. |
checkAllowedElements(element, elements)
Checks that only allowed child elements are provided.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
element
|
_Element
|
The element defining a task. |
required |
elements
|
List[str]
|
The list of allowed element names. |
required |
Raises:
Type | Description |
---|---|
TaskException
|
if the element defining a task contains subelements that are not allowed. |
checkInputDocument(required=False)
Checks a task's input document.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
required
|
bool
|
Indicates that the input document is required. |
False
|
Raises:
Type | Description |
---|---|
TaskException
|
if the input document is required, but not provided |
checkNumberOfElements(name, multiple, required)
Checks whether the correct number of child elements are provided.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the child elements to check. |
required |
multiple
|
bool
|
Indicates that the child element may be provided multiple times. |
required |
required
|
bool
|
Indicates that the child element has to be provided at least once. |
required |
Raises:
Type | Description |
---|---|
TaskException
|
if an incorrect number of child elements is provided. |
checkOutputDocument(required=False)
Checks a task's output document.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
required
|
bool
|
Indicates that the output document is required. |
False
|
Raises:
Type | Description |
---|---|
TaskException
|
if the output document is required, but not provided |
getAttribute(attribute, required=False, default=None)
Get a task attribute.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
attribute
|
str
|
The name of the attribute to retrieve. |
required |
required
|
bool
|
Indicates that the attribute is required. |
False
|
default
|
str | None
|
The default value of the attribute. |
None
|
Returns:
Type | Description |
---|---|
str | None
|
The value of the attribute, if avaiable. Otherwise, the default value is returned. |
Raises:
Type | Description |
---|---|
TaskException
|
if the attribute is not defined, no default value has been provided, but the attribute is required. |
getElement(name, required=False)
Get a task subelement.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the subelement to retrieve. |
required |
required
|
bool
|
Indicates that the subelement is required. |
False
|
Returns:
Type | Description |
---|---|
str | None
|
The value of the subelement, if avaiable. Otherwise, None will be returned. |
Raises:
Type | Description |
---|---|
TaskException
|
if the subelement is not defined, but the subelement is required. |
getMultipleElements(name, required=False)
Get a task's subelements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the subelements to retrieve. |
required |
required
|
bool
|
Indicates that the subelement is required. |
False
|
Returns:
Type | Description |
---|---|
List[str]
|
A list of the values of the subelements. Can be an empty list if no subelements are available. |
Raises:
Type | Description |
---|---|
TaskException
|
if the subelement is not defined, but the subelement is required. |
load()
Loads the input document.
Raises:
Type | Description |
---|---|
TaskException
|
if the input document can not be loaded. |
save()
Saves the output document.
Raises:
Type | Description |
---|---|
TaskException
|
if the output document can not be saved. |