From 0f3285062e4431fd73188b129c4e966c21680439 Mon Sep 17 00:00:00 2001 From: Daniel Tsvetkov Date: Wed, 13 Mar 2019 15:28:05 -0700 Subject: [PATCH] erroring out on stderr --- tz.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tz.py b/tz.py index 9c18b3b..c7777be 100644 --- a/tz.py +++ b/tz.py @@ -1,3 +1,4 @@ +import sys import argparse import dateparser @@ -25,18 +26,24 @@ except UnknownTimeZoneError: import string from geopy.geocoders import Nominatim + from geopy.exc import GeocoderTimedOut from timezonefinder import TimezoneFinder user_agent = ''.join(random.choices(string.ascii_uppercase + string.digits, k=20)) geolocator = Nominatim(user_agent=user_agent) - location = geolocator.geocode(human_tz) + try: + location = geolocator.geocode(human_tz) + except GeocoderTimedOut: + print("Timed out resolving location. Try specifying a timezone directly", file=sys.stderr) + exit(1) + tzf = TimezoneFinder() loc_tz = tzf.timezone_at(lng=location.longitude, lat=location.latitude) result = dateparser.parse(human_dt, settings={'TO_TIMEZONE': loc_tz}) if result is None: - print("Could not parse '{human_dt}' or '{human_tz}'".format(human_dt, human_tz)) + print("Could not parse '{human_dt}' or '{human_tz}'".format(human_dt, human_tz), file=sys.stderr) exit(1) formatted_result = result.strftime(args.format)