19 lines
617 B
Python
19 lines
617 B
Python
"""Evidence acquisition operations over the credential-free source contract."""
|
|
|
|
from collections.abc import Iterable
|
|
|
|
from tht.evidence.contracts import AcquiredDocument, EvidenceSource, SourceObject
|
|
|
|
|
|
def discover(source: EvidenceSource) -> Iterable[SourceObject]:
|
|
"""Discover source objects without changing source-defined laziness or ordering."""
|
|
return source.discover()
|
|
|
|
|
|
def acquire(source: EvidenceSource, item: SourceObject) -> AcquiredDocument:
|
|
"""Acquire one discovered object, preserving the source's classified failures."""
|
|
return source.acquire(item)
|
|
|
|
|
|
__all__ = ["acquire", "discover"]
|