Source code for maptekblastlogic.models.backfilling_entry_actual

import datetime
from typing import Any, Dict, Type, TypeVar, Union, cast

from attrs import define as _attrs_define
from dateutil.parser import isoparse

from ..types import UNSET, Unset

T = TypeVar("T", bound="BackfillingEntryActual")


[docs] @_attrs_define class BackfillingEntryActual: """Measurements recorded from a backfilling activity. Attributes: crew_start_time (datetime.datetime): When this backfilling activity started (UTC). crew_end_time (datetime.datetime): When this backfilling activity was completed (UTC). Must be greater than or equal to 'crewStartTime'. crew_id (Union[None, Unset, int]): The unique identifier of the crew that performed this backfilling. Can be null if unknown. crew_dip_depth_before (Union[None, Unset, float]): Depth of the hole before backfilling according to the crew (Meters). Can be null if unknown. crew_water_length_before (Union[None, Unset, float]): Depth of the water in the hole before backfilling according to the crew (Meters). Can be null if unknown. crew_wet_sides_length_before (Union[None, Unset, float]): Length of the wet sides of the hole before backfilling according to the crew (Meters). Can be null if unknown. crew_temperature_before (Union[None, Unset, float]): Temperature of the hole before backfilling according to the crew (Kelvin). Can be null if unknown. was_backfilled (Union[None, Unset, bool]): Whether or not the hole was backfilled. crew_dip_depth_after (Union[None, Unset, float]): Depth of the hole after backfilling according to the crew (Meters). Must be null when 'wasBackfilled' is false. Can be null if unknown. crew_water_length_after (Union[None, Unset, float]): Depth of the water in the hole after backfilling according to the crew (Meters). Must be null when 'wasBackfilled' is false. Can be null if unknown. crew_wet_sides_length_after (Union[None, Unset, float]): Length of the wet sides of the hole after backfilling according to the crew (Meters). Must be null when 'wasBackfilled' is false. Can be null if unknown. crew_comment (Union[None, Unset, str]): Comments about the hole during the backfilling activity. Can be null. Maximum 200 characters. supervisor_id (Union[None, Unset, int]): The unique identifier of the supervisor responsible for supervising this backfilling activity. Can be null if unknown. supervisor_start_time (Union[None, Unset, datetime.datetime]): When the supervisor checked started (UTC). Required when 'supervisorEndTime' has a value. supervisor_end_time (Union[None, Unset, datetime.datetime]): When the supervisor checked finished (UTC). Required when 'supervisorStartTime' has a value. supervisor_dip_depth_after (Union[None, Unset, float]): Depth of the hole after backfilling according to the supervisor (Meters). Can be null if unknown. supervisor_water_length_after (Union[None, Unset, float]): Depth of water in the hole after backfilling according to the supervisor (Meters). Can be null if unknown. supervisor_wet_sides_length_after (Union[None, Unset, float]): Length of the wet sides in the hole after backfilling according to the supervisor (Meters). Can be null if unknown. """ crew_start_time: datetime.datetime crew_end_time: datetime.datetime crew_id: Union[None, Unset, int] = UNSET crew_dip_depth_before: Union[None, Unset, float] = UNSET crew_water_length_before: Union[None, Unset, float] = UNSET crew_wet_sides_length_before: Union[None, Unset, float] = UNSET crew_temperature_before: Union[None, Unset, float] = UNSET was_backfilled: Union[None, Unset, bool] = UNSET crew_dip_depth_after: Union[None, Unset, float] = UNSET crew_water_length_after: Union[None, Unset, float] = UNSET crew_wet_sides_length_after: Union[None, Unset, float] = UNSET crew_comment: Union[None, Unset, str] = UNSET supervisor_id: Union[None, Unset, int] = UNSET supervisor_start_time: Union[None, Unset, datetime.datetime] = UNSET supervisor_end_time: Union[None, Unset, datetime.datetime] = UNSET supervisor_dip_depth_after: Union[None, Unset, float] = UNSET supervisor_water_length_after: Union[None, Unset, float] = UNSET supervisor_wet_sides_length_after: Union[None, Unset, float] = UNSET
[docs] def to_dict(self) -> Dict[str, Any]: crew_start_time = self.crew_start_time.isoformat() crew_end_time = self.crew_end_time.isoformat() crew_id: Union[None, Unset, int] if isinstance(self.crew_id, Unset): crew_id = UNSET else: crew_id = self.crew_id crew_dip_depth_before: Union[None, Unset, float] if isinstance(self.crew_dip_depth_before, Unset): crew_dip_depth_before = UNSET else: crew_dip_depth_before = self.crew_dip_depth_before crew_water_length_before: Union[None, Unset, float] if isinstance(self.crew_water_length_before, Unset): crew_water_length_before = UNSET else: crew_water_length_before = self.crew_water_length_before crew_wet_sides_length_before: Union[None, Unset, float] if isinstance(self.crew_wet_sides_length_before, Unset): crew_wet_sides_length_before = UNSET else: crew_wet_sides_length_before = self.crew_wet_sides_length_before crew_temperature_before: Union[None, Unset, float] if isinstance(self.crew_temperature_before, Unset): crew_temperature_before = UNSET else: crew_temperature_before = self.crew_temperature_before was_backfilled: Union[None, Unset, bool] if isinstance(self.was_backfilled, Unset): was_backfilled = UNSET else: was_backfilled = self.was_backfilled crew_dip_depth_after: Union[None, Unset, float] if isinstance(self.crew_dip_depth_after, Unset): crew_dip_depth_after = UNSET else: crew_dip_depth_after = self.crew_dip_depth_after crew_water_length_after: Union[None, Unset, float] if isinstance(self.crew_water_length_after, Unset): crew_water_length_after = UNSET else: crew_water_length_after = self.crew_water_length_after crew_wet_sides_length_after: Union[None, Unset, float] if isinstance(self.crew_wet_sides_length_after, Unset): crew_wet_sides_length_after = UNSET else: crew_wet_sides_length_after = self.crew_wet_sides_length_after crew_comment: Union[None, Unset, str] if isinstance(self.crew_comment, Unset): crew_comment = UNSET else: crew_comment = self.crew_comment supervisor_id: Union[None, Unset, int] if isinstance(self.supervisor_id, Unset): supervisor_id = UNSET else: supervisor_id = self.supervisor_id supervisor_start_time: Union[None, Unset, str] if isinstance(self.supervisor_start_time, Unset): supervisor_start_time = UNSET elif isinstance(self.supervisor_start_time, datetime.datetime): supervisor_start_time = self.supervisor_start_time.isoformat() else: supervisor_start_time = self.supervisor_start_time supervisor_end_time: Union[None, Unset, str] if isinstance(self.supervisor_end_time, Unset): supervisor_end_time = UNSET elif isinstance(self.supervisor_end_time, datetime.datetime): supervisor_end_time = self.supervisor_end_time.isoformat() else: supervisor_end_time = self.supervisor_end_time supervisor_dip_depth_after: Union[None, Unset, float] if isinstance(self.supervisor_dip_depth_after, Unset): supervisor_dip_depth_after = UNSET else: supervisor_dip_depth_after = self.supervisor_dip_depth_after supervisor_water_length_after: Union[None, Unset, float] if isinstance(self.supervisor_water_length_after, Unset): supervisor_water_length_after = UNSET else: supervisor_water_length_after = self.supervisor_water_length_after supervisor_wet_sides_length_after: Union[None, Unset, float] if isinstance(self.supervisor_wet_sides_length_after, Unset): supervisor_wet_sides_length_after = UNSET else: supervisor_wet_sides_length_after = self.supervisor_wet_sides_length_after field_dict: Dict[str, Any] = {} field_dict.update( { "crewStartTime": crew_start_time, "crewEndTime": crew_end_time, } ) if crew_id is not UNSET: field_dict["crewId"] = crew_id if crew_dip_depth_before is not UNSET: field_dict["crewDipDepthBefore"] = crew_dip_depth_before if crew_water_length_before is not UNSET: field_dict["crewWaterLengthBefore"] = crew_water_length_before if crew_wet_sides_length_before is not UNSET: field_dict["crewWetSidesLengthBefore"] = crew_wet_sides_length_before if crew_temperature_before is not UNSET: field_dict["crewTemperatureBefore"] = crew_temperature_before if was_backfilled is not UNSET: field_dict["wasBackfilled"] = was_backfilled if crew_dip_depth_after is not UNSET: field_dict["crewDipDepthAfter"] = crew_dip_depth_after if crew_water_length_after is not UNSET: field_dict["crewWaterLengthAfter"] = crew_water_length_after if crew_wet_sides_length_after is not UNSET: field_dict["crewWetSidesLengthAfter"] = crew_wet_sides_length_after if crew_comment is not UNSET: field_dict["crewComment"] = crew_comment if supervisor_id is not UNSET: field_dict["supervisorId"] = supervisor_id if supervisor_start_time is not UNSET: field_dict["supervisorStartTime"] = supervisor_start_time if supervisor_end_time is not UNSET: field_dict["supervisorEndTime"] = supervisor_end_time if supervisor_dip_depth_after is not UNSET: field_dict["supervisorDipDepthAfter"] = supervisor_dip_depth_after if supervisor_water_length_after is not UNSET: field_dict["supervisorWaterLengthAfter"] = supervisor_water_length_after if supervisor_wet_sides_length_after is not UNSET: field_dict["supervisorWetSidesLengthAfter"] = supervisor_wet_sides_length_after return field_dict
[docs] @classmethod def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T: d = src_dict.copy() crew_start_time = isoparse(d.pop("crewStartTime")) crew_end_time = isoparse(d.pop("crewEndTime")) def _parse_crew_id(data: object) -> Union[None, Unset, int]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, int], data) crew_id = _parse_crew_id(d.pop("crewId", UNSET)) def _parse_crew_dip_depth_before(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) crew_dip_depth_before = _parse_crew_dip_depth_before(d.pop("crewDipDepthBefore", UNSET)) def _parse_crew_water_length_before(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) crew_water_length_before = _parse_crew_water_length_before(d.pop("crewWaterLengthBefore", UNSET)) def _parse_crew_wet_sides_length_before(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) crew_wet_sides_length_before = _parse_crew_wet_sides_length_before(d.pop("crewWetSidesLengthBefore", UNSET)) def _parse_crew_temperature_before(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) crew_temperature_before = _parse_crew_temperature_before(d.pop("crewTemperatureBefore", UNSET)) def _parse_was_backfilled(data: object) -> Union[None, Unset, bool]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, bool], data) was_backfilled = _parse_was_backfilled(d.pop("wasBackfilled", UNSET)) def _parse_crew_dip_depth_after(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) crew_dip_depth_after = _parse_crew_dip_depth_after(d.pop("crewDipDepthAfter", UNSET)) def _parse_crew_water_length_after(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) crew_water_length_after = _parse_crew_water_length_after(d.pop("crewWaterLengthAfter", UNSET)) def _parse_crew_wet_sides_length_after(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) crew_wet_sides_length_after = _parse_crew_wet_sides_length_after(d.pop("crewWetSidesLengthAfter", UNSET)) def _parse_crew_comment(data: object) -> Union[None, Unset, str]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, str], data) crew_comment = _parse_crew_comment(d.pop("crewComment", UNSET)) def _parse_supervisor_id(data: object) -> Union[None, Unset, int]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, int], data) supervisor_id = _parse_supervisor_id(d.pop("supervisorId", UNSET)) def _parse_supervisor_start_time(data: object) -> Union[None, Unset, datetime.datetime]: if data is None: return data if isinstance(data, Unset): return data try: if not isinstance(data, str): raise TypeError() supervisor_start_time_type_0 = isoparse(data) return supervisor_start_time_type_0 except: # noqa: E722 pass return cast(Union[None, Unset, datetime.datetime], data) supervisor_start_time = _parse_supervisor_start_time(d.pop("supervisorStartTime", UNSET)) def _parse_supervisor_end_time(data: object) -> Union[None, Unset, datetime.datetime]: if data is None: return data if isinstance(data, Unset): return data try: if not isinstance(data, str): raise TypeError() supervisor_end_time_type_0 = isoparse(data) return supervisor_end_time_type_0 except: # noqa: E722 pass return cast(Union[None, Unset, datetime.datetime], data) supervisor_end_time = _parse_supervisor_end_time(d.pop("supervisorEndTime", UNSET)) def _parse_supervisor_dip_depth_after(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) supervisor_dip_depth_after = _parse_supervisor_dip_depth_after(d.pop("supervisorDipDepthAfter", UNSET)) def _parse_supervisor_water_length_after(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) supervisor_water_length_after = _parse_supervisor_water_length_after(d.pop("supervisorWaterLengthAfter", UNSET)) def _parse_supervisor_wet_sides_length_after(data: object) -> Union[None, Unset, float]: if data is None: return data if isinstance(data, Unset): return data return cast(Union[None, Unset, float], data) supervisor_wet_sides_length_after = _parse_supervisor_wet_sides_length_after( d.pop("supervisorWetSidesLengthAfter", UNSET) ) backfilling_entry_actual = cls( crew_start_time=crew_start_time, crew_end_time=crew_end_time, crew_id=crew_id, crew_dip_depth_before=crew_dip_depth_before, crew_water_length_before=crew_water_length_before, crew_wet_sides_length_before=crew_wet_sides_length_before, crew_temperature_before=crew_temperature_before, was_backfilled=was_backfilled, crew_dip_depth_after=crew_dip_depth_after, crew_water_length_after=crew_water_length_after, crew_wet_sides_length_after=crew_wet_sides_length_after, crew_comment=crew_comment, supervisor_id=supervisor_id, supervisor_start_time=supervisor_start_time, supervisor_end_time=supervisor_end_time, supervisor_dip_depth_after=supervisor_dip_depth_after, supervisor_water_length_after=supervisor_water_length_after, supervisor_wet_sides_length_after=supervisor_wet_sides_length_after, ) return backfilling_entry_actual