import locale from pytz import country_timezones import six from .maps import tz_cities def get_country_timezones(country_code): """ Retrieves the timezones for a given country, sorted in alphabetical order """ tz_list = [] if country_code in country_timezones: tzs = country_timezones[country_code] tz_list = [(t, tz_cities[t]) for t in tzs] tz_list.sort(lambda x, y: locale.strcoll(x[1], y[1])) return tz_list def get_country_code_from_tz(tz): """ Retrieves the country matching a given timezone """ for c, t in six.iteritems(country_timezones): if tz in t: return c return None