dialogflowAPI / app /resolvers /origin_code.py
OnlyBiggg
refactor code
df37f6e
import json
import logging
import os
from typing import Optional, Tuple
logger = logging.getLogger(__name__)
ORIGIN_CODES_PATH = "static/files/origin-codes.json"
def load_origin_codes() -> list[dict]:
try:
with open(ORIGIN_CODES_PATH, "r", encoding="utf-8") as file:
return json.load(file)
except (FileNotFoundError, json.JSONDecodeError):
logger.error(f"Error loading origin codes from {ORIGIN_CODES_PATH}")
return []
def get_city_id_and_code(origin_name: str) -> Tuple[Optional[int], Optional[str]]:
"""
Truy xuất province_id và province_code từ file JSON tĩnh theo tên tỉnh/thành phố.
Args:
origin_name (str): Tên thành phố gốc
Returns:
Tuple[province_id, province_code] hoặc (None, None) nếu không tìm thấy
"""
origin_name = origin_name.strip().lower()
for entry in load_origin_codes():
name = entry.get("name", "").lower()
if name == origin_name:
return entry.get("id"), entry.get("code")
logger.warning(f"ID and Code not found for name: {origin_name}")
return None, None