from enum import StrEnum from zoneinfo import ZoneInfo class ProxyLocation(StrEnum): US_CA = "US-CA" US_NY = "US-NY" US_TX = "US-TX" US_FL = "US-FL" US_WA = "US-WA" RESIDENTIAL = "RESIDENTIAL" RESIDENTIAL_ES = "RESIDENTIAL_ES" RESIDENTIAL_IE = "RESIDENTIAL_IE" RESIDENTIAL_GB = "RESIDENTIAL_GB" RESIDENTIAL_IN = "RESIDENTIAL_IN" RESIDENTIAL_JP = "RESIDENTIAL_JP" RESIDENTIAL_FR = "RESIDENTIAL_FR" RESIDENTIAL_DE = "RESIDENTIAL_DE" RESIDENTIAL_NZ = "RESIDENTIAL_NZ" RESIDENTIAL_ZA = "RESIDENTIAL_ZA" RESIDENTIAL_AR = "RESIDENTIAL_AR" RESIDENTIAL_ISP = "RESIDENTIAL_ISP" NONE = "NONE" def get_tzinfo_from_proxy(proxy_location: ProxyLocation) -> ZoneInfo | None: if proxy_location == ProxyLocation.NONE: return None if proxy_location == ProxyLocation.US_CA: return ZoneInfo("America/Los_Angeles") if proxy_location == ProxyLocation.US_NY: return ZoneInfo("America/New_York") if proxy_location == ProxyLocation.US_TX: return ZoneInfo("America/Chicago") if proxy_location == ProxyLocation.US_FL: return ZoneInfo("America/New_York") if proxy_location == ProxyLocation.US_WA: return ZoneInfo("America/New_York") if proxy_location == ProxyLocation.RESIDENTIAL: return ZoneInfo("America/New_York") if proxy_location == ProxyLocation.RESIDENTIAL_ES: return ZoneInfo("Europe/Madrid") if proxy_location == ProxyLocation.RESIDENTIAL_IE: return ZoneInfo("Europe/Dublin") if proxy_location == ProxyLocation.RESIDENTIAL_GB: return ZoneInfo("Europe/London") if proxy_location == ProxyLocation.RESIDENTIAL_IN: return ZoneInfo("Asia/Kolkata") if proxy_location == ProxyLocation.RESIDENTIAL_JP: return ZoneInfo("Asia/Tokyo") if proxy_location == ProxyLocation.RESIDENTIAL_FR: return ZoneInfo("Europe/Paris") if proxy_location == ProxyLocation.RESIDENTIAL_DE: return ZoneInfo("Europe/Berlin") if proxy_location == ProxyLocation.RESIDENTIAL_NZ: return ZoneInfo("Pacific/Auckland") if proxy_location == ProxyLocation.RESIDENTIAL_ZA: return ZoneInfo("Africa/Johannesburg") if proxy_location == ProxyLocation.RESIDENTIAL_AR: return ZoneInfo("America/Argentina/Buenos_Aires") if proxy_location == ProxyLocation.RESIDENTIAL_ISP: return ZoneInfo("America/New_York") return None