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
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
@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
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
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