Source code for ziptimezone.globals

import csv

loaded_zip_data = None


[docs] def load_zip_data(file_path): """ Loads ZIP code data from a CSV file into a global dictionary if it is not already loaded. Parameters: file_path (str): The full path to the CSV file containing ZIP code data. Returns: dict: A dictionary where the keys are ZIP codes and the values are dictionaries with latitude and longitude. """ global loaded_zip_data if loaded_zip_data is None: with open(file_path, newline="", encoding="utf-8") as csvfile: reader = csv.DictReader( csvfile, fieldnames=[ "country_code", "postal_code", "place_name", "admin_name1", "admin_code1", "admin_name2", "admin_code2", "admin_name3", "admin_code3", "latitude", "longitude", "accuracy", ], delimiter="\t", ) loaded_zip_data = { row["postal_code"]: { "latitude": row["latitude"], "longitude": row["longitude"], } for row in reader } return loaded_zip_data
[docs] def get_loaded_zip_data(): """ Accesses the globally loaded ZIP code data. Returns: dict: The dictionary containing loaded ZIP code data. """ global loaded_zip_data return loaded_zip_data