# -*- coding: utf-8 -*- import json import logging from logging import Logger from urllib.parse import urljoin from arkindex_worker.image import BoundingBox, polygon_bounding_box logger: Logger = logging.getLogger(__name__) def build_image_url(image, polygon: str) -> str: bbox: BoundingBox = polygon_bounding_box(json.loads(polygon)) x: int y: int width: int height: int x, y, width, height = bbox return urljoin(image.url + "/", f"{x},{y},{width},{height}/full/0/default.jpg") def get_id_or_null(value: dict | None) -> str | None: return value["id"] if value else None