Skip to content
Snippets Groups Projects
Commit 36b1e767 authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

CamelCasing when deserializing Result objects

parent ad51c615
No related branches found
No related tags found
No related merge requests found
Pipeline #729 failed
......@@ -25,18 +25,23 @@ along with VIPSCore-Python-Common. If not, see <http://www.nibio.no/licenses/>.
from datetime import datetime
from shapely.geometry import Point, Polygon
from pydantic import BaseModel, validator, constr, Field
from typing import Any, Union, ClassVar
from typing import Any, Union, ClassVar, Optional
import pytz
class Result(BaseModel):
"""Represents a set of DSS model result values for a given point in space (Point, Polygon, MultiPolygon) and time (Period or immediate) """
valid_time_start: datetime = Field(alias="validTimeStart") # TODO make sure it's always timezone aware
valid_time_end: datetime = Field(..., alias="validTimeStart") # TODO make sure it's always timezone aware
valid_geometry: Any = Field(alias="validGeometry")
"""
Represents a set of DSS model result values for a given point in space (Point, Polygon, MultiPolygon) and time (Period or immediate)
"""
valid_time_start: datetime = Field(alias="validTimeStart")
valid_time_end: Optional[datetime] = Field(alias="validTimeStart")
valid_geometry: Optional[Any] = Field(alias="validGeometry")
warning_status: int = Field(alias="warningStatus")
all_values: dict = Field(alias="allValues")
class Config:
allow_population_by_field_name = True
WARNING_STATUS_NO_WARNING: ClassVar[int] = 0
WARNING_STATUS_NO_WARNING_MISSING_DATA: ClassVar[int] = 1
WARNING_STATUS_NO_RISK: ClassVar[int] = 2
......
import unittest
import datetime
from src.vipscore_common.entities import *
class TestEntities(unittest.TestCase):
def test_create_result(self):
r = Result(
valid_time_start = datetime.fromisoformat("2015-03-01T00:00:00+01:00"), # valid_time_start
valid_time_end = None,
warning_status = 2,
all_values = {"TM":2}
)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment