Skip to content

Commit cfd7c79

Browse files
committed
fix(street): Use assert_never, cast firebase task id to int when provider is mapillary, correct type hint
1 parent 036888a commit cfd7c79

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

apps/project/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ class ProjectTask(FirebasePushResource):
689689
project_type_specifics = models.JSONField()
690690

691691
# Type hints
692-
id: int | str
692+
id: int
693693
task_group_id: int
694694

695695
# FIXME: Quick fix involves removing uniqueness constraint

project_types/street/api_calls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from collections.abc import Hashable
33
from concurrent.futures import ProcessPoolExecutor
44
from functools import partial
5-
from typing import Any
5+
from typing import Any, assert_never
66
from warnings import deprecated
77

88
import mercantile # type: ignore[reportMissingTypeStubs]
@@ -194,7 +194,7 @@ def download_and_process_tile(
194194
base = (provider.url or Config.PANORAMAX_API_LINK).rstrip("/")
195195
url = f"{base}/api/map/{z}/{x}/{y}.mvt"
196196
else:
197-
raise Exception(f"Unknown provider {getattr(provider.name, 'value', '')}")
197+
assert_never(provider.name)
198198

199199
for _ in range(attempt_limit):
200200
try:

project_types/street/project.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,13 @@ def compress_tasks_on_firebase(self) -> bool:
247247
@typing.override
248248
def get_task_specifics_for_firebase(self, task: ProjectTask):
249249
assert task.geometry is not None, "Task geometry must not be None"
250+
image_provider = self.project_type_specifics.image_provider
251+
task_id: int | str = task.firebase_id
252+
if image_provider and image_provider.name == StreetImageProviderNameEnum.MAPILLARY:
253+
task_id = int(task.firebase_id)
254+
250255
return firebase_models.FbMappingTaskStreetCreateOnlyInput(
251-
taskId=task.firebase_id,
256+
taskId=task_id,
252257
groupId=task.task_group.firebase_id,
253258
)
254259

0 commit comments

Comments
 (0)