apex-dispatch-api-client 0.7.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- apex_dispatch_api_client/__about__.py +15 -0
- apex_dispatch_api_client/__init__.py +8 -0
- apex_dispatch_api_client/api/__init__.py +1 -0
- apex_dispatch_api_client/api/default/__init__.py +1 -0
- apex_dispatch_api_client/api/default/health_health_get.py +85 -0
- apex_dispatch_api_client/api/unit_jobs/__init__.py +1 -0
- apex_dispatch_api_client/api/unit_jobs/create_sync_job_sync_jobs_post.py +178 -0
- apex_dispatch_api_client/api/unit_jobs/create_unit_job_unit_jobs_post.py +180 -0
- apex_dispatch_api_client/api/unit_jobs/delete_job_unit_jobs_job_id_delete.py +170 -0
- apex_dispatch_api_client/api/unit_jobs/get_job_params_params_post.py +179 -0
- apex_dispatch_api_client/api/unit_jobs/get_job_results_unit_jobs_job_id_results_get.py +186 -0
- apex_dispatch_api_client/api/unit_jobs/get_job_unit_jobs_job_id_get.py +172 -0
- apex_dispatch_api_client/api/upscale_tasks/__init__.py +1 -0
- apex_dispatch_api_client/api/upscale_tasks/create_upscale_task_upscale_tasks_post.py +180 -0
- apex_dispatch_api_client/api/upscale_tasks/get_jobs_status_jobs_status_get.py +192 -0
- apex_dispatch_api_client/api/upscale_tasks/get_upscale_task_upscale_tasks_task_id_get.py +172 -0
- apex_dispatch_api_client/api/upscale_tasks/split_in_tiles_tiles_post.py +184 -0
- apex_dispatch_api_client/client.py +282 -0
- apex_dispatch_api_client/errors.py +16 -0
- apex_dispatch_api_client/models/__init__.py +99 -0
- apex_dispatch_api_client/models/asset.py +155 -0
- apex_dispatch_api_client/models/base_job_request.py +104 -0
- apex_dispatch_api_client/models/base_job_request_parameters.py +47 -0
- apex_dispatch_api_client/models/collection.py +332 -0
- apex_dispatch_api_client/models/collection_assets_type_0.py +60 -0
- apex_dispatch_api_client/models/collection_summaries_type_0.py +109 -0
- apex_dispatch_api_client/models/collection_summaries_type_0_additional_property_type_2.py +47 -0
- apex_dispatch_api_client/models/error_response.py +138 -0
- apex_dispatch_api_client/models/error_response_details_type_0.py +47 -0
- apex_dispatch_api_client/models/extent.py +80 -0
- apex_dispatch_api_client/models/geometry_collection.py +247 -0
- apex_dispatch_api_client/models/grid_type_enum.py +9 -0
- apex_dispatch_api_client/models/http_validation_error.py +79 -0
- apex_dispatch_api_client/models/jobs_filter.py +9 -0
- apex_dispatch_api_client/models/jobs_status_response.py +97 -0
- apex_dispatch_api_client/models/line_string.py +163 -0
- apex_dispatch_api_client/models/link.py +123 -0
- apex_dispatch_api_client/models/mime_types.py +37 -0
- apex_dispatch_api_client/models/multi_line_string.py +180 -0
- apex_dispatch_api_client/models/multi_point.py +163 -0
- apex_dispatch_api_client/models/multi_polygon.py +191 -0
- apex_dispatch_api_client/models/output_format_enum.py +11 -0
- apex_dispatch_api_client/models/param_request.py +77 -0
- apex_dispatch_api_client/models/param_type_enum.py +16 -0
- apex_dispatch_api_client/models/parameter.py +108 -0
- apex_dispatch_api_client/models/parameter_dimension.py +69 -0
- apex_dispatch_api_client/models/point.py +151 -0
- apex_dispatch_api_client/models/polygon.py +180 -0
- apex_dispatch_api_client/models/process_type_enum.py +9 -0
- apex_dispatch_api_client/models/processing_job.py +130 -0
- apex_dispatch_api_client/models/processing_job_parameters.py +47 -0
- apex_dispatch_api_client/models/processing_job_summary.py +116 -0
- apex_dispatch_api_client/models/processing_job_summary_parameters.py +47 -0
- apex_dispatch_api_client/models/processing_status_enum.py +14 -0
- apex_dispatch_api_client/models/provider.py +135 -0
- apex_dispatch_api_client/models/range_.py +79 -0
- apex_dispatch_api_client/models/service_details.py +95 -0
- apex_dispatch_api_client/models/spatial_extent.py +96 -0
- apex_dispatch_api_client/models/tile_request.py +77 -0
- apex_dispatch_api_client/models/time_interval.py +99 -0
- apex_dispatch_api_client/models/upscaling_task.py +138 -0
- apex_dispatch_api_client/models/upscaling_task_request.py +118 -0
- apex_dispatch_api_client/models/upscaling_task_request_parameters.py +47 -0
- apex_dispatch_api_client/models/upscaling_task_summary.py +88 -0
- apex_dispatch_api_client/models/validation_error.py +123 -0
- apex_dispatch_api_client/models/validation_error_context.py +47 -0
- apex_dispatch_api_client/types.py +54 -0
- apex_dispatch_api_client-0.7.2.dist-info/METADATA +167 -0
- apex_dispatch_api_client-0.7.2.dist-info/RECORD +71 -0
- apex_dispatch_api_client-0.7.2.dist-info/WHEEL +4 -0
- apex_dispatch_api_client-0.7.2.dist-info/licenses/LICENSE +202 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.processing_job_summary import ProcessingJobSummary
|
|
11
|
+
from ..models.upscaling_task_summary import UpscalingTaskSummary
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="JobsStatusResponse")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class JobsStatusResponse:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
upscaling_tasks (list[UpscalingTaskSummary]): List of upscaling tasks that are available for the user
|
|
22
|
+
processing_jobs (list[ProcessingJobSummary]): List of processing jobs that are available for the user
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
upscaling_tasks: list[UpscalingTaskSummary]
|
|
26
|
+
processing_jobs: list[ProcessingJobSummary]
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
upscaling_tasks = []
|
|
31
|
+
for upscaling_tasks_item_data in self.upscaling_tasks:
|
|
32
|
+
upscaling_tasks_item = upscaling_tasks_item_data.to_dict()
|
|
33
|
+
upscaling_tasks.append(upscaling_tasks_item)
|
|
34
|
+
|
|
35
|
+
processing_jobs = []
|
|
36
|
+
for processing_jobs_item_data in self.processing_jobs:
|
|
37
|
+
processing_jobs_item = processing_jobs_item_data.to_dict()
|
|
38
|
+
processing_jobs.append(processing_jobs_item)
|
|
39
|
+
|
|
40
|
+
field_dict: dict[str, Any] = {}
|
|
41
|
+
field_dict.update(self.additional_properties)
|
|
42
|
+
field_dict.update(
|
|
43
|
+
{
|
|
44
|
+
"upscaling_tasks": upscaling_tasks,
|
|
45
|
+
"processing_jobs": processing_jobs,
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
return field_dict
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
53
|
+
from ..models.processing_job_summary import ProcessingJobSummary
|
|
54
|
+
from ..models.upscaling_task_summary import UpscalingTaskSummary
|
|
55
|
+
|
|
56
|
+
d = dict(src_dict)
|
|
57
|
+
upscaling_tasks = []
|
|
58
|
+
_upscaling_tasks = d.pop("upscaling_tasks")
|
|
59
|
+
for upscaling_tasks_item_data in _upscaling_tasks:
|
|
60
|
+
upscaling_tasks_item = UpscalingTaskSummary.from_dict(
|
|
61
|
+
upscaling_tasks_item_data
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
upscaling_tasks.append(upscaling_tasks_item)
|
|
65
|
+
|
|
66
|
+
processing_jobs = []
|
|
67
|
+
_processing_jobs = d.pop("processing_jobs")
|
|
68
|
+
for processing_jobs_item_data in _processing_jobs:
|
|
69
|
+
processing_jobs_item = ProcessingJobSummary.from_dict(
|
|
70
|
+
processing_jobs_item_data
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
processing_jobs.append(processing_jobs_item)
|
|
74
|
+
|
|
75
|
+
jobs_status_response = cls(
|
|
76
|
+
upscaling_tasks=upscaling_tasks,
|
|
77
|
+
processing_jobs=processing_jobs,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
jobs_status_response.additional_properties = d
|
|
81
|
+
return jobs_status_response
|
|
82
|
+
|
|
83
|
+
@property
|
|
84
|
+
def additional_keys(self) -> list[str]:
|
|
85
|
+
return list(self.additional_properties.keys())
|
|
86
|
+
|
|
87
|
+
def __getitem__(self, key: str) -> Any:
|
|
88
|
+
return self.additional_properties[key]
|
|
89
|
+
|
|
90
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
91
|
+
self.additional_properties[key] = value
|
|
92
|
+
|
|
93
|
+
def __delitem__(self, key: str) -> None:
|
|
94
|
+
del self.additional_properties[key]
|
|
95
|
+
|
|
96
|
+
def __contains__(self, key: str) -> bool:
|
|
97
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import (
|
|
5
|
+
Any,
|
|
6
|
+
Literal,
|
|
7
|
+
TypeVar,
|
|
8
|
+
cast,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
from attrs import define as _attrs_define
|
|
12
|
+
from attrs import field as _attrs_field
|
|
13
|
+
|
|
14
|
+
from ..types import UNSET, Unset
|
|
15
|
+
|
|
16
|
+
T = TypeVar("T", bound="LineString")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@_attrs_define
|
|
20
|
+
class LineString:
|
|
21
|
+
"""LineString Model
|
|
22
|
+
|
|
23
|
+
Attributes:
|
|
24
|
+
type_ (Literal['LineString']):
|
|
25
|
+
coordinates (list[list[float]]):
|
|
26
|
+
bbox (list[float] | None | Unset):
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
type_: Literal["LineString"]
|
|
30
|
+
coordinates: list[list[float]]
|
|
31
|
+
bbox: list[float] | None | Unset = UNSET
|
|
32
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
|
+
|
|
34
|
+
def to_dict(self) -> dict[str, Any]:
|
|
35
|
+
type_ = self.type_
|
|
36
|
+
|
|
37
|
+
coordinates = []
|
|
38
|
+
for coordinates_item_data in self.coordinates:
|
|
39
|
+
coordinates_item: list[float]
|
|
40
|
+
if isinstance(coordinates_item_data, list):
|
|
41
|
+
coordinates_item = []
|
|
42
|
+
for componentsschemas_position_2d_item_data in coordinates_item_data:
|
|
43
|
+
componentsschemas_position_2d_item: float
|
|
44
|
+
componentsschemas_position_2d_item = (
|
|
45
|
+
componentsschemas_position_2d_item_data
|
|
46
|
+
)
|
|
47
|
+
coordinates_item.append(componentsschemas_position_2d_item)
|
|
48
|
+
|
|
49
|
+
coordinates.append(coordinates_item)
|
|
50
|
+
|
|
51
|
+
bbox: list[float] | None | Unset
|
|
52
|
+
if isinstance(self.bbox, Unset):
|
|
53
|
+
bbox = UNSET
|
|
54
|
+
elif isinstance(self.bbox, list):
|
|
55
|
+
bbox = []
|
|
56
|
+
for bbox_type_0_item_data in self.bbox:
|
|
57
|
+
bbox_type_0_item: float
|
|
58
|
+
bbox_type_0_item = bbox_type_0_item_data
|
|
59
|
+
bbox.append(bbox_type_0_item)
|
|
60
|
+
|
|
61
|
+
else:
|
|
62
|
+
bbox = self.bbox
|
|
63
|
+
|
|
64
|
+
field_dict: dict[str, Any] = {}
|
|
65
|
+
field_dict.update(self.additional_properties)
|
|
66
|
+
field_dict.update(
|
|
67
|
+
{
|
|
68
|
+
"type": type_,
|
|
69
|
+
"coordinates": coordinates,
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
if bbox is not UNSET:
|
|
73
|
+
field_dict["bbox"] = bbox
|
|
74
|
+
|
|
75
|
+
return field_dict
|
|
76
|
+
|
|
77
|
+
@classmethod
|
|
78
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
79
|
+
d = dict(src_dict)
|
|
80
|
+
type_ = cast(Literal["LineString"], d.pop("type"))
|
|
81
|
+
if type_ != "LineString":
|
|
82
|
+
raise ValueError(f"type must match const 'LineString', got '{type_}'")
|
|
83
|
+
|
|
84
|
+
coordinates = []
|
|
85
|
+
_coordinates = d.pop("coordinates")
|
|
86
|
+
for coordinates_item_data in _coordinates:
|
|
87
|
+
|
|
88
|
+
def _parse_coordinates_item(data: object) -> list[float]:
|
|
89
|
+
if not isinstance(data, list):
|
|
90
|
+
raise TypeError()
|
|
91
|
+
coordinates_item_type_0 = []
|
|
92
|
+
_coordinates_item_type_0 = data
|
|
93
|
+
for componentsschemas_position_2d_item_data in _coordinates_item_type_0:
|
|
94
|
+
|
|
95
|
+
def _parse_componentsschemas_position_2d_item(
|
|
96
|
+
data: object,
|
|
97
|
+
) -> float:
|
|
98
|
+
return cast(float, data)
|
|
99
|
+
|
|
100
|
+
componentsschemas_position_2d_item = (
|
|
101
|
+
_parse_componentsschemas_position_2d_item(
|
|
102
|
+
componentsschemas_position_2d_item_data
|
|
103
|
+
)
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
coordinates_item_type_0.append(componentsschemas_position_2d_item)
|
|
107
|
+
|
|
108
|
+
return coordinates_item_type_0
|
|
109
|
+
|
|
110
|
+
coordinates_item = _parse_coordinates_item(coordinates_item_data)
|
|
111
|
+
|
|
112
|
+
coordinates.append(coordinates_item)
|
|
113
|
+
|
|
114
|
+
def _parse_bbox(data: object) -> list[float] | None | Unset:
|
|
115
|
+
if data is None:
|
|
116
|
+
return data
|
|
117
|
+
if isinstance(data, Unset):
|
|
118
|
+
return data
|
|
119
|
+
try:
|
|
120
|
+
if not isinstance(data, list):
|
|
121
|
+
raise TypeError()
|
|
122
|
+
bbox_type_0 = []
|
|
123
|
+
_bbox_type_0 = data
|
|
124
|
+
for bbox_type_0_item_data in _bbox_type_0:
|
|
125
|
+
|
|
126
|
+
def _parse_bbox_type_0_item(data: object) -> float:
|
|
127
|
+
return cast(float, data)
|
|
128
|
+
|
|
129
|
+
bbox_type_0_item = _parse_bbox_type_0_item(bbox_type_0_item_data)
|
|
130
|
+
|
|
131
|
+
bbox_type_0.append(bbox_type_0_item)
|
|
132
|
+
|
|
133
|
+
return bbox_type_0
|
|
134
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
135
|
+
pass
|
|
136
|
+
return cast(list[float] | None | Unset, data)
|
|
137
|
+
|
|
138
|
+
bbox = _parse_bbox(d.pop("bbox", UNSET))
|
|
139
|
+
|
|
140
|
+
line_string = cls(
|
|
141
|
+
type_=type_,
|
|
142
|
+
coordinates=coordinates,
|
|
143
|
+
bbox=bbox,
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
line_string.additional_properties = d
|
|
147
|
+
return line_string
|
|
148
|
+
|
|
149
|
+
@property
|
|
150
|
+
def additional_keys(self) -> list[str]:
|
|
151
|
+
return list(self.additional_properties.keys())
|
|
152
|
+
|
|
153
|
+
def __getitem__(self, key: str) -> Any:
|
|
154
|
+
return self.additional_properties[key]
|
|
155
|
+
|
|
156
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
157
|
+
self.additional_properties[key] = value
|
|
158
|
+
|
|
159
|
+
def __delitem__(self, key: str) -> None:
|
|
160
|
+
del self.additional_properties[key]
|
|
161
|
+
|
|
162
|
+
def __contains__(self, key: str) -> bool:
|
|
163
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar, cast
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
from ..models.mime_types import MimeTypes
|
|
10
|
+
from ..types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="Link")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class Link:
|
|
17
|
+
"""https://github.com/radiantearth/stac-spec/blob/v1.0.0/collection-spec/collection-spec.md#link-object
|
|
18
|
+
|
|
19
|
+
Attributes:
|
|
20
|
+
href (str):
|
|
21
|
+
rel (str):
|
|
22
|
+
type_ (MimeTypes | None | str | Unset):
|
|
23
|
+
title (None | str | Unset):
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
href: str
|
|
27
|
+
rel: str
|
|
28
|
+
type_: MimeTypes | None | str | Unset = UNSET
|
|
29
|
+
title: None | str | Unset = UNSET
|
|
30
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
31
|
+
|
|
32
|
+
def to_dict(self) -> dict[str, Any]:
|
|
33
|
+
href = self.href
|
|
34
|
+
|
|
35
|
+
rel = self.rel
|
|
36
|
+
|
|
37
|
+
type_: None | str | Unset
|
|
38
|
+
if isinstance(self.type_, Unset):
|
|
39
|
+
type_ = UNSET
|
|
40
|
+
elif isinstance(self.type_, MimeTypes):
|
|
41
|
+
type_ = self.type_.value
|
|
42
|
+
else:
|
|
43
|
+
type_ = self.type_
|
|
44
|
+
|
|
45
|
+
title: None | str | Unset
|
|
46
|
+
if isinstance(self.title, Unset):
|
|
47
|
+
title = UNSET
|
|
48
|
+
else:
|
|
49
|
+
title = self.title
|
|
50
|
+
|
|
51
|
+
field_dict: dict[str, Any] = {}
|
|
52
|
+
field_dict.update(self.additional_properties)
|
|
53
|
+
field_dict.update(
|
|
54
|
+
{
|
|
55
|
+
"href": href,
|
|
56
|
+
"rel": rel,
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
if type_ is not UNSET:
|
|
60
|
+
field_dict["type"] = type_
|
|
61
|
+
if title is not UNSET:
|
|
62
|
+
field_dict["title"] = title
|
|
63
|
+
|
|
64
|
+
return field_dict
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
68
|
+
d = dict(src_dict)
|
|
69
|
+
href = d.pop("href")
|
|
70
|
+
|
|
71
|
+
rel = d.pop("rel")
|
|
72
|
+
|
|
73
|
+
def _parse_type_(data: object) -> MimeTypes | None | str | Unset:
|
|
74
|
+
if data is None:
|
|
75
|
+
return data
|
|
76
|
+
if isinstance(data, Unset):
|
|
77
|
+
return data
|
|
78
|
+
try:
|
|
79
|
+
if not isinstance(data, str):
|
|
80
|
+
raise TypeError()
|
|
81
|
+
type_type_0 = MimeTypes(data)
|
|
82
|
+
|
|
83
|
+
return type_type_0
|
|
84
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
85
|
+
pass
|
|
86
|
+
return cast(MimeTypes | None | str | Unset, data)
|
|
87
|
+
|
|
88
|
+
type_ = _parse_type_(d.pop("type", UNSET))
|
|
89
|
+
|
|
90
|
+
def _parse_title(data: object) -> None | str | Unset:
|
|
91
|
+
if data is None:
|
|
92
|
+
return data
|
|
93
|
+
if isinstance(data, Unset):
|
|
94
|
+
return data
|
|
95
|
+
return cast(None | str | Unset, data)
|
|
96
|
+
|
|
97
|
+
title = _parse_title(d.pop("title", UNSET))
|
|
98
|
+
|
|
99
|
+
link = cls(
|
|
100
|
+
href=href,
|
|
101
|
+
rel=rel,
|
|
102
|
+
type_=type_,
|
|
103
|
+
title=title,
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
link.additional_properties = d
|
|
107
|
+
return link
|
|
108
|
+
|
|
109
|
+
@property
|
|
110
|
+
def additional_keys(self) -> list[str]:
|
|
111
|
+
return list(self.additional_properties.keys())
|
|
112
|
+
|
|
113
|
+
def __getitem__(self, key: str) -> Any:
|
|
114
|
+
return self.additional_properties[key]
|
|
115
|
+
|
|
116
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
117
|
+
self.additional_properties[key] = value
|
|
118
|
+
|
|
119
|
+
def __delitem__(self, key: str) -> None:
|
|
120
|
+
del self.additional_properties[key]
|
|
121
|
+
|
|
122
|
+
def __contains__(self, key: str) -> bool:
|
|
123
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class MimeTypes(str, Enum):
|
|
5
|
+
APPLICATIONGEOJSON = "application/geo+json"
|
|
6
|
+
APPLICATIONGEOJSON_SEQ = "application/geo+json-seq"
|
|
7
|
+
APPLICATIONGEOPACKAGESQLITE3 = "application/geopackage+sqlite3"
|
|
8
|
+
APPLICATIONJSON = "application/json"
|
|
9
|
+
APPLICATIONNDJSON = "application/ndjson"
|
|
10
|
+
APPLICATIONOCTET_STREAM = "application/octet-stream"
|
|
11
|
+
APPLICATIONPDF = "application/pdf"
|
|
12
|
+
APPLICATIONSCHEMAJSON = "application/schema+json"
|
|
13
|
+
APPLICATIONVND_APACHE_PARQUET = "application/vnd.apache.parquet"
|
|
14
|
+
APPLICATIONVND_GOOGLE_EARTH_KMLXML = "application/vnd.google-earth.kml+xml"
|
|
15
|
+
APPLICATIONVND_GOOGLE_EARTH_KMZ = "application/vnd.google-earth.kmz"
|
|
16
|
+
APPLICATIONVND_MAPBOX_VECTOR_TILE = "application/vnd.mapbox-vector-tile"
|
|
17
|
+
APPLICATIONVND_OAI_OPENAPIJSONVERSION3_0 = (
|
|
18
|
+
"application/vnd.oai.openapi+json;version=3.0"
|
|
19
|
+
)
|
|
20
|
+
APPLICATIONVND_OAI_OPENAPIVERSION3_0 = "application/vnd.oai.openapi;version=3.0"
|
|
21
|
+
APPLICATIONXML = "application/xml"
|
|
22
|
+
APPLICATIONX_HDF = "application/x-hdf"
|
|
23
|
+
APPLICATIONX_HDF5 = "application/x-hdf5"
|
|
24
|
+
APPLICATIONX_PROTOBUF = "application/x-protobuf"
|
|
25
|
+
IMAGEJP2 = "image/jp2"
|
|
26
|
+
IMAGEJPEG = "image/jpeg"
|
|
27
|
+
IMAGEPNG = "image/png"
|
|
28
|
+
IMAGETIFF_APPLICATIONGEOTIFF = "image/tiff; application=geotiff"
|
|
29
|
+
IMAGETIFF_APPLICATIONGEOTIFF_PROFILECLOUD_OPTIMIZED = (
|
|
30
|
+
"image/tiff; application=geotiff; profile=cloud-optimized"
|
|
31
|
+
)
|
|
32
|
+
TEXTCSV = "text/csv"
|
|
33
|
+
TEXTHTML = "text/html"
|
|
34
|
+
TEXTPLAIN = "text/plain"
|
|
35
|
+
|
|
36
|
+
def __str__(self) -> str:
|
|
37
|
+
return str(self.value)
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import (
|
|
5
|
+
Any,
|
|
6
|
+
Literal,
|
|
7
|
+
TypeVar,
|
|
8
|
+
cast,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
from attrs import define as _attrs_define
|
|
12
|
+
from attrs import field as _attrs_field
|
|
13
|
+
|
|
14
|
+
from ..types import UNSET, Unset
|
|
15
|
+
|
|
16
|
+
T = TypeVar("T", bound="MultiLineString")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@_attrs_define
|
|
20
|
+
class MultiLineString:
|
|
21
|
+
"""MultiLineString Model
|
|
22
|
+
|
|
23
|
+
Attributes:
|
|
24
|
+
type_ (Literal['MultiLineString']):
|
|
25
|
+
coordinates (list[list[list[float]]]):
|
|
26
|
+
bbox (list[float] | None | Unset):
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
type_: Literal["MultiLineString"]
|
|
30
|
+
coordinates: list[list[list[float]]]
|
|
31
|
+
bbox: list[float] | None | Unset = UNSET
|
|
32
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
|
+
|
|
34
|
+
def to_dict(self) -> dict[str, Any]:
|
|
35
|
+
type_ = self.type_
|
|
36
|
+
|
|
37
|
+
coordinates = []
|
|
38
|
+
for coordinates_item_data in self.coordinates:
|
|
39
|
+
coordinates_item = []
|
|
40
|
+
for coordinates_item_item_data in coordinates_item_data:
|
|
41
|
+
coordinates_item_item: list[float]
|
|
42
|
+
if isinstance(coordinates_item_item_data, list):
|
|
43
|
+
coordinates_item_item = []
|
|
44
|
+
for (
|
|
45
|
+
componentsschemas_position_2d_item_data
|
|
46
|
+
) in coordinates_item_item_data:
|
|
47
|
+
componentsschemas_position_2d_item: float
|
|
48
|
+
componentsschemas_position_2d_item = (
|
|
49
|
+
componentsschemas_position_2d_item_data
|
|
50
|
+
)
|
|
51
|
+
coordinates_item_item.append(componentsschemas_position_2d_item)
|
|
52
|
+
|
|
53
|
+
coordinates_item.append(coordinates_item_item)
|
|
54
|
+
|
|
55
|
+
coordinates.append(coordinates_item)
|
|
56
|
+
|
|
57
|
+
bbox: list[float] | None | Unset
|
|
58
|
+
if isinstance(self.bbox, Unset):
|
|
59
|
+
bbox = UNSET
|
|
60
|
+
elif isinstance(self.bbox, list):
|
|
61
|
+
bbox = []
|
|
62
|
+
for bbox_type_0_item_data in self.bbox:
|
|
63
|
+
bbox_type_0_item: float
|
|
64
|
+
bbox_type_0_item = bbox_type_0_item_data
|
|
65
|
+
bbox.append(bbox_type_0_item)
|
|
66
|
+
|
|
67
|
+
else:
|
|
68
|
+
bbox = self.bbox
|
|
69
|
+
|
|
70
|
+
field_dict: dict[str, Any] = {}
|
|
71
|
+
field_dict.update(self.additional_properties)
|
|
72
|
+
field_dict.update(
|
|
73
|
+
{
|
|
74
|
+
"type": type_,
|
|
75
|
+
"coordinates": coordinates,
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
if bbox is not UNSET:
|
|
79
|
+
field_dict["bbox"] = bbox
|
|
80
|
+
|
|
81
|
+
return field_dict
|
|
82
|
+
|
|
83
|
+
@classmethod
|
|
84
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
85
|
+
d = dict(src_dict)
|
|
86
|
+
type_ = cast(Literal["MultiLineString"], d.pop("type"))
|
|
87
|
+
if type_ != "MultiLineString":
|
|
88
|
+
raise ValueError(f"type must match const 'MultiLineString', got '{type_}'")
|
|
89
|
+
|
|
90
|
+
coordinates = []
|
|
91
|
+
_coordinates = d.pop("coordinates")
|
|
92
|
+
for coordinates_item_data in _coordinates:
|
|
93
|
+
coordinates_item = []
|
|
94
|
+
_coordinates_item = coordinates_item_data
|
|
95
|
+
for coordinates_item_item_data in _coordinates_item:
|
|
96
|
+
|
|
97
|
+
def _parse_coordinates_item_item(data: object) -> list[float]:
|
|
98
|
+
if not isinstance(data, list):
|
|
99
|
+
raise TypeError()
|
|
100
|
+
coordinates_item_item_type_0 = []
|
|
101
|
+
_coordinates_item_item_type_0 = data
|
|
102
|
+
for (
|
|
103
|
+
componentsschemas_position_2d_item_data
|
|
104
|
+
) in _coordinates_item_item_type_0:
|
|
105
|
+
|
|
106
|
+
def _parse_componentsschemas_position_2d_item(
|
|
107
|
+
data: object,
|
|
108
|
+
) -> float:
|
|
109
|
+
return cast(float, data)
|
|
110
|
+
|
|
111
|
+
componentsschemas_position_2d_item = (
|
|
112
|
+
_parse_componentsschemas_position_2d_item(
|
|
113
|
+
componentsschemas_position_2d_item_data
|
|
114
|
+
)
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
coordinates_item_item_type_0.append(
|
|
118
|
+
componentsschemas_position_2d_item
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
return coordinates_item_item_type_0
|
|
122
|
+
|
|
123
|
+
coordinates_item_item = _parse_coordinates_item_item(
|
|
124
|
+
coordinates_item_item_data
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
coordinates_item.append(coordinates_item_item)
|
|
128
|
+
|
|
129
|
+
coordinates.append(coordinates_item)
|
|
130
|
+
|
|
131
|
+
def _parse_bbox(data: object) -> list[float] | None | Unset:
|
|
132
|
+
if data is None:
|
|
133
|
+
return data
|
|
134
|
+
if isinstance(data, Unset):
|
|
135
|
+
return data
|
|
136
|
+
try:
|
|
137
|
+
if not isinstance(data, list):
|
|
138
|
+
raise TypeError()
|
|
139
|
+
bbox_type_0 = []
|
|
140
|
+
_bbox_type_0 = data
|
|
141
|
+
for bbox_type_0_item_data in _bbox_type_0:
|
|
142
|
+
|
|
143
|
+
def _parse_bbox_type_0_item(data: object) -> float:
|
|
144
|
+
return cast(float, data)
|
|
145
|
+
|
|
146
|
+
bbox_type_0_item = _parse_bbox_type_0_item(bbox_type_0_item_data)
|
|
147
|
+
|
|
148
|
+
bbox_type_0.append(bbox_type_0_item)
|
|
149
|
+
|
|
150
|
+
return bbox_type_0
|
|
151
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
152
|
+
pass
|
|
153
|
+
return cast(list[float] | None | Unset, data)
|
|
154
|
+
|
|
155
|
+
bbox = _parse_bbox(d.pop("bbox", UNSET))
|
|
156
|
+
|
|
157
|
+
multi_line_string = cls(
|
|
158
|
+
type_=type_,
|
|
159
|
+
coordinates=coordinates,
|
|
160
|
+
bbox=bbox,
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
multi_line_string.additional_properties = d
|
|
164
|
+
return multi_line_string
|
|
165
|
+
|
|
166
|
+
@property
|
|
167
|
+
def additional_keys(self) -> list[str]:
|
|
168
|
+
return list(self.additional_properties.keys())
|
|
169
|
+
|
|
170
|
+
def __getitem__(self, key: str) -> Any:
|
|
171
|
+
return self.additional_properties[key]
|
|
172
|
+
|
|
173
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
174
|
+
self.additional_properties[key] = value
|
|
175
|
+
|
|
176
|
+
def __delitem__(self, key: str) -> None:
|
|
177
|
+
del self.additional_properties[key]
|
|
178
|
+
|
|
179
|
+
def __contains__(self, key: str) -> bool:
|
|
180
|
+
return key in self.additional_properties
|