Skip to content

CompletedTask¤

CompletedTask dataclass ¤

CompletedTask(
    task: str, due_date: date, performed_by: str, completed_date: date
)

Represents the completedTask element in an equipment register.

Parameters:

Name Type Description Default
task str

A description of the task that was completed.

required
due_date date

The date that the maintenance task was due to be completed.

required
performed_by str

The person or company that performed the maintenance task.

required
completed_date date

The date that the maintenance task was completed.

required

completed_date instance-attribute ¤

completed_date: date

The date that the maintenance task was completed.

due_date instance-attribute ¤

due_date: date

The date that the maintenance task was due to be completed.

performed_by instance-attribute ¤

performed_by: str

The person or company that performed the maintenance task.

task instance-attribute ¤

task: str

A description of the task that was completed.

from_xml classmethod ¤

from_xml(element: Element[str]) -> CompletedTask

Convert an XML element into a CompletedTask instance.

Parameters:

Name Type Description Default
element Element[str]

A completedTask XML element from an equipment register.

required

Returns:

Type Description
CompletedTask

The CompletedTask instance.

Source code in src/msl/equipment/schema.py
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
@classmethod
def from_xml(cls, element: Element[str]) -> CompletedTask:
    """Convert an XML element into a [CompletedTask][msl.equipment.schema.CompletedTask] instance.

    Args:
        element: A [completedTask][type_completedTask] XML element from an equipment register.

    Returns:
        The [CompletedTask][msl.equipment.schema.CompletedTask] instance.
    """
    return cls(
        task=element.text or "",
        due_date=_date.fromisoformat(element.attrib["dueDate"]),
        performed_by=element.attrib["performedBy"],
        completed_date=_date.fromisoformat(element.attrib["completedDate"]),
    )

to_xml ¤

to_xml() -> Element[str]

Convert the CompletedTask class into an XML element.

Returns:

Type Description
Element[str]

The CompletedTask as an XML element.

Source code in src/msl/equipment/schema.py
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
def to_xml(self) -> Element[str]:
    """Convert the [CompletedTask][msl.equipment.schema.CompletedTask] class into an XML element.

    Returns:
        The [CompletedTask][msl.equipment.schema.CompletedTask] as an XML element.
    """
    attrib = {
        "dueDate": self.due_date.isoformat(),
        "completedDate": self.completed_date.isoformat(),
        "performedBy": self.performed_by,
    }

    e = Element("task", attrib=attrib)
    e.text = self.task
    return e