|
15 | 15 | """Functionality for preparing order details for use in creating an order""" |
16 | 16 | from __future__ import annotations # https://stackoverflow.com/a/33533514 |
17 | 17 | import logging |
18 | | -from typing import Optional, Any, Dict, List, Union |
| 18 | +from typing import Any, Dict, List, Mapping, Optional, Union |
19 | 19 |
|
20 | 20 | from . import geojson, specs |
21 | 21 | from .exceptions import ClientError |
@@ -163,9 +163,9 @@ def notifications(email: Optional[bool] = None, |
163 | 163 |
|
164 | 164 |
|
165 | 165 | def delivery(archive_type: Optional[str] = None, |
166 | | - single_archive: bool = False, |
| 166 | + single_archive: Optional[bool] = False, |
167 | 167 | archive_filename: Optional[str] = None, |
168 | | - cloud_config: Optional[dict] = None) -> dict: |
| 168 | + cloud_config: Optional[Mapping] = None) -> dict: |
169 | 169 | """Order delivery configuration. |
170 | 170 |
|
171 | 171 | Example: |
@@ -196,20 +196,21 @@ def delivery(archive_type: Optional[str] = None, |
196 | 196 | Raises: |
197 | 197 | planet.specs.SpecificationException: If archive_type is not valid. |
198 | 198 | """ |
| 199 | + config: Dict[str, Any] = {} |
| 200 | + |
199 | 201 | if archive_type: |
200 | 202 | archive_type = specs.validate_archive_type(archive_type) |
201 | 203 |
|
202 | | - # for missing archive file name |
203 | 204 | if archive_filename is None: |
204 | 205 | archive_filename = "{{name}}_{{order_id}}.zip" |
205 | 206 |
|
206 | | - fields = ['archive_type', 'single_archive', 'archive_filename'] |
207 | | - values = [archive_type, single_archive, archive_filename] |
208 | | - |
209 | | - config = dict((k, v) for k, v in zip(fields, values) if v) |
| 207 | + config.update(archive_type=archive_type, |
| 208 | + archive_filename=archive_filename, |
| 209 | + single_archive=single_archive) |
210 | 210 |
|
211 | 211 | if cloud_config: |
212 | 212 | config.update(cloud_config) |
| 213 | + |
213 | 214 | return config |
214 | 215 |
|
215 | 216 |
|
|
0 commit comments