From a2dc11c5be0a1f82adc9f1797dbe11a7dd9775d2 Mon Sep 17 00:00:00 2001 From: Payton Ward <72841140+paytonward6@users.noreply.github.com> Date: Fri, 21 Nov 2025 10:09:33 -0600 Subject: [PATCH] fix: alpr_clusters.py type annotations (#57) --- serverless/alpr_clusters/src/alpr_clusters.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/serverless/alpr_clusters/src/alpr_clusters.py b/serverless/alpr_clusters/src/alpr_clusters.py index 1a30ff9..23fa7e3 100644 --- a/serverless/alpr_clusters/src/alpr_clusters.py +++ b/serverless/alpr_clusters/src/alpr_clusters.py @@ -7,11 +7,10 @@ import os import time import numpy as np import requests -from typing import Tuple import re from concurrent.futures import ThreadPoolExecutor -def terraform_rate_expression_to_minutes(rate_expression: str) -> Tuple[int, int]: +def terraform_rate_expression_to_minutes(rate_expression: str) -> int: match = re.match(r"rate\((\d+)\s*(day|hour|minute)s?\)", rate_expression) if not match: raise ValueError(f"Invalid rate expression: {rate_expression}") @@ -26,7 +25,7 @@ def terraform_rate_expression_to_minutes(rate_expression: str) -> Tuple[int, int return value else: raise ValueError(f"Unsupported time unit: {unit}") - + UPDATE_RATE_MINS = terraform_rate_expression_to_minutes(os.getenv("UPDATE_RATE_MINS", "rate(60 minutes)")) GRACE_PERIOD_MINS = int(2) # XXX: set expiration a few minutes after in case put object takes a while TILE_SIZE_DEGREES = int(20) @@ -54,7 +53,7 @@ def get_all_nodes(): response.raise_for_status() return response.json()["elements"] -def segment_regions(nodes: Any, tile_size_degrees: int) -> dict[Any]: +def segment_regions(nodes: Any, tile_size_degrees: int) -> dict[str, list[Any]]: print("Segmenting regions...") tile_dict = defaultdict(list) for node in nodes: @@ -108,7 +107,7 @@ def lambda_handler(event, context): key = f"regions/{lat}/{lon}.json" body = json.dumps(elements) futures.append(executor.submit(upload_json_to_s3, bucket_new, key, body)) - + # add index file futures.append(executor.submit(upload_json_to_s3, bucket_new, "regions/index.json", json.dumps(tile_index)))