Source code for cybsi.api.observation.view

from datetime import datetime

from .. import RefView
from ..internal import parse_rfc3339_timestamp
from ..observable import ShareLevels
from .enums import ObservationTypes


[docs] class ObservationCommonView(RefView): """Observation short view.""" @property def type(self) -> ObservationTypes: """Observation type.""" return ObservationTypes(self._get("type"))
[docs] class ObservationHeaderView(ObservationCommonView): """Observation header view.""" @property def reporter(self) -> RefView: """Source reporting the observation.""" return RefView(self._get("reporter")) @property def data_source(self) -> RefView: """Observation data source.""" return RefView(self._get("dataSource")) @property def share_level(self) -> ShareLevels: """Share level.""" return ShareLevels(self._get("shareLevel")) @property def seen_at(self) -> datetime: """Date and time when observation was seen.""" return parse_rfc3339_timestamp(self._get("seenAt")) @property def registered_at(self) -> datetime: """Date and time when observation was registered.""" return parse_rfc3339_timestamp(self._get("registeredAt"))