parent
547c6b5205
commit
6bc7fc63b2
2 changed files with 28 additions and 0 deletions
@ -0,0 +1,27 @@ |
||||
"""Document handling classes""" |
||||
|
||||
from abc import ABC, abstractmethod |
||||
from datetime import datetime |
||||
from typing import Optional |
||||
|
||||
from ..identity import Identity |
||||
from ..path import Path |
||||
|
||||
|
||||
class Document(ABC): # pragma: no cover pylint: disable=too-few-public-methods |
||||
"""Abstract base class for documents""" |
||||
|
||||
path: Path |
||||
|
||||
author: Identity |
||||
|
||||
timestamp: datetime |
||||
|
||||
signature: str |
||||
|
||||
@abstractmethod |
||||
def sign(self, identity: Optional[Identity] = None) -> None: |
||||
"""Sign the document as identity |
||||
|
||||
If ``identity`` is ``None``, use ``self.author`` instead. |
||||
""" |
Loading…
Reference in new issue