Source code for todowrite.core.models.metadata

"""
Metadata utility class.

This module contains the Metadata utility class for extensible metadata.
"""

from __future__ import annotations


[docs] class Metadata: """Extensible metadata for ToDoWrite nodes."""
[docs] def __init__( self, owner: str = "", labels: list[str] | None = None, severity: str = "", work_type: str = "", assignee: str = "", extra: dict[str, str | int | bool] | None = None, ) -> None: self.owner = owner self.labels = labels or [] self.severity = severity self.work_type = work_type self.assignee = assignee self.extra = extra or {}
[docs] def to_dict(self) -> dict[str, str | list[str] | int | bool]: """Convert metadata to dictionary.""" return { "owner": self.owner, "labels": self.labels, "severity": self.severity, "work_type": self.work_type, "assignee": self.assignee, **self.extra, }