Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: pygeoip/timezone.py

Issue 11577044: Switch to pygeoip for log processing to allow running it via PyPy (Closed)
Patch Set: Created Aug. 29, 2013, 7:38 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pygeoip/const.py ('k') | pygeoip/util.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pygeoip/timezone.py
===================================================================
new file mode 100644
--- /dev/null
+++ b/pygeoip/timezone.py
@@ -0,0 +1,760 @@
+# -*- coding: utf-8 -*-
+"""
+Time zone functions. Part of the pygeoip package.
+
+@author: Jennifer Ennis <zaylea@gmail.com>
+
+@license: Copyright(C) 2004 MaxMind LLC
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/lgpl.txt>.
+"""
+
+__all__ = ['time_zone_by_country_and_region']
+
+_country = {
+ 'AD': 'Europe/Andorra',
+ 'AE': 'Asia/Dubai',
+ 'AF': 'Asia/Kabul',
+ 'AG': 'America/Antigua',
+ 'AI': 'America/Anguilla',
+ 'AL': 'Europe/Tirane',
+ 'AM': 'Asia/Yerevan',
+ 'AN': 'America/Curacao',
+ 'AO': 'Africa/Luanda',
+ 'AR': {
+ '01': 'America/Argentina/Buenos_Aires',
+ '02': 'America/Argentina/Catamarca',
+ '03': 'America/Argentina/Tucuman',
+ '04': 'America/Argentina/Rio_Gallegos',
+ '05': 'America/Argentina/Cordoba',
+ '06': 'America/Argentina/Tucuman',
+ '07': 'America/Argentina/Buenos_Aires',
+ '08': 'America/Argentina/Buenos_Aires',
+ '09': 'America/Argentina/Tucuman',
+ '10': 'America/Argentina/Jujuy',
+ '11': 'America/Argentina/San_Luis',
+ '12': 'America/Argentina/La_Rioja',
+ '13': 'America/Argentina/Mendoza',
+ '14': 'America/Argentina/Buenos_Aires',
+ '15': 'America/Argentina/San_Luis',
+ '16': 'America/Argentina/Buenos_Aires',
+ '17': 'America/Argentina/Salta',
+ '18': 'America/Argentina/San_Juan',
+ '19': 'America/Argentina/San_Luis',
+ '20': 'America/Argentina/Rio_Gallegos',
+ '21': 'America/Argentina/Buenos_Aires',
+ '22': 'America/Argentina/Catamarca',
+ '23': 'America/Argentina/Ushuaia',
+ '24': 'America/Argentina/Tucuman'
+ },
+ 'AS': 'US/Samoa',
+ 'AT': 'Europe/Vienna',
+ 'AU': {
+ '01': 'Australia/Canberra',
+ '02': 'Australia/NSW',
+ '03': 'Australia/North',
+ '04': 'Australia/Queensland',
+ '05': 'Australia/South',
+ '06': 'Australia/Tasmania',
+ '07': 'Australia/Victoria',
+ '08': 'Australia/West'
+ },
+ 'AW': 'America/Aruba',
+ 'AX': 'Europe/Mariehamn',
+ 'AZ': 'Asia/Baku',
+ 'BA': 'Europe/Sarajevo',
+ 'BB': 'America/Barbados',
+ 'BD': 'Asia/Dhaka',
+ 'BE': 'Europe/Brussels',
+ 'BF': 'Africa/Ouagadougou',
+ 'BG': 'Europe/Sofia',
+ 'BH': 'Asia/Bahrain',
+ 'BI': 'Africa/Bujumbura',
+ 'BJ': 'Africa/Porto-Novo',
+ 'BL': 'America/St_Barthelemy',
+ 'BM': 'Atlantic/Bermuda',
+ 'BN': 'Asia/Brunei',
+ 'BO': 'America/La_Paz',
+ 'BQ': 'America/Curacao',
+ 'BR': {
+ '01': 'America/Rio_Branco',
+ '02': 'America/Maceio',
+ '03': 'America/Sao_Paulo',
+ '04': 'America/Manaus',
+ '05': 'America/Bahia',
+ '06': 'America/Fortaleza',
+ '07': 'America/Sao_Paulo',
+ '08': 'America/Sao_Paulo',
+ '11': 'America/Campo_Grande',
+ '13': 'America/Belem',
+ '14': 'America/Cuiaba',
+ '15': 'America/Sao_Paulo',
+ '16': 'America/Belem',
+ '17': 'America/Recife',
+ '18': 'America/Sao_Paulo',
+ '20': 'America/Fortaleza',
+ '21': 'America/Sao_Paulo',
+ '22': 'America/Recife',
+ '23': 'America/Sao_Paulo',
+ '24': 'America/Porto_Velho',
+ '25': 'America/Boa_Vista',
+ '26': 'America/Sao_Paulo',
+ '27': 'America/Sao_Paulo',
+ '28': 'America/Maceio',
+ '29': 'America/Sao_Paulo',
+ '30': 'America/Recife',
+ '31': 'America/Araguaina'
+ },
+ 'BS': 'America/Nassau',
+ 'BT': 'Asia/Thimphu',
+ 'BW': 'Africa/Gaborone',
+ 'BY': 'Europe/Minsk',
+ 'BZ': 'America/Belize',
+ 'CA': {
+ 'AB': 'America/Edmonton',
+ 'BC': 'America/Vancouver',
+ 'MB': 'America/Winnipeg',
+ 'NB': 'America/Halifax',
+ 'NL': 'America/St_Johns',
+ 'NS': 'America/Halifax',
+ 'NT': 'America/Yellowknife',
+ 'NU': 'America/Rankin_Inlet',
+ 'ON': 'America/Toronto',
+ 'PE': 'America/Halifax',
+ 'QC': 'America/Montreal',
+ 'SK': 'America/Regina',
+ 'YT': 'America/Whitehorse'
+ },
+ 'CC': 'Indian/Cocos',
+ 'CD': {
+ '02': 'Africa/Kinshasa',
+ '05': 'Africa/Lubumbashi',
+ '06': 'Africa/Kinshasa',
+ '08': 'Africa/Kinshasa',
+ '10': 'Africa/Lubumbashi',
+ '11': 'Africa/Lubumbashi',
+ '12': 'Africa/Lubumbashi'
+ },
+ 'CF': 'Africa/Bangui',
+ 'CG': 'Africa/Brazzaville',
+ 'CH': 'Europe/Zurich',
+ 'CI': 'Africa/Abidjan',
+ 'CK': 'Pacific/Rarotonga',
+ 'CL': 'Chile/Continental',
+ 'CM': 'Africa/Lagos',
+ 'CN': {
+ '01': 'Asia/Shanghai',
+ '02': 'Asia/Shanghai',
+ '03': 'Asia/Shanghai',
+ '04': 'Asia/Shanghai',
+ '05': 'Asia/Harbin',
+ '06': 'Asia/Chongqing',
+ '07': 'Asia/Shanghai',
+ '08': 'Asia/Harbin',
+ '09': 'Asia/Shanghai',
+ '10': 'Asia/Shanghai',
+ '11': 'Asia/Chongqing',
+ '12': 'Asia/Shanghai',
+ '13': 'Asia/Urumqi',
+ '14': 'Asia/Chongqing',
+ '15': 'Asia/Chongqing',
+ '16': 'Asia/Chongqing',
+ '18': 'Asia/Chongqing',
+ '19': 'Asia/Harbin',
+ '20': 'Asia/Harbin',
+ '21': 'Asia/Chongqing',
+ '22': 'Asia/Harbin',
+ '23': 'Asia/Shanghai',
+ '24': 'Asia/Chongqing',
+ '25': 'Asia/Shanghai',
+ '26': 'Asia/Chongqing',
+ '28': 'Asia/Shanghai',
+ '29': 'Asia/Chongqing',
+ '30': 'Asia/Chongqing',
+ '31': 'Asia/Chongqing',
+ '32': 'Asia/Chongqing',
+ '33': 'Asia/Chongqing'
+ },
+ 'CO': 'America/Bogota',
+ 'CR': 'America/Costa_Rica',
+ 'CU': 'America/Havana',
+ 'CV': 'Atlantic/Cape_Verde',
+ 'CW': 'America/Curacao',
+ 'CX': 'Indian/Christmas',
+ 'CY': 'Asia/Nicosia',
+ 'CZ': 'Europe/Prague',
+ 'DE': 'Europe/Berlin',
+ 'DJ': 'Africa/Djibouti',
+ 'DK': 'Europe/Copenhagen',
+ 'DM': 'America/Dominica',
+ 'DO': 'America/Santo_Domingo',
+ 'DZ': 'Africa/Algiers',
+ 'EC': {
+ '01': 'Pacific/Galapagos',
+ '02': 'America/Guayaquil',
+ '03': 'America/Guayaquil',
+ '04': 'America/Guayaquil',
+ '05': 'America/Guayaquil',
+ '06': 'America/Guayaquil',
+ '07': 'America/Guayaquil',
+ '08': 'America/Guayaquil',
+ '09': 'America/Guayaquil',
+ '10': 'America/Guayaquil',
+ '11': 'America/Guayaquil',
+ '12': 'America/Guayaquil',
+ '13': 'America/Guayaquil',
+ '14': 'America/Guayaquil',
+ '15': 'America/Guayaquil',
+ '17': 'America/Guayaquil',
+ '18': 'America/Guayaquil',
+ '19': 'America/Guayaquil',
+ '20': 'America/Guayaquil',
+ '22': 'America/Guayaquil'
+ },
+ 'EE': 'Europe/Tallinn',
+ 'EG': 'Africa/Cairo',
+ 'EH': 'Africa/El_Aaiun',
+ 'ER': 'Africa/Asmera',
+ 'ES': {
+ '07': 'Europe/Madrid',
+ '27': 'Europe/Madrid',
+ '29': 'Europe/Madrid',
+ '31': 'Europe/Madrid',
+ '32': 'Europe/Madrid',
+ '34': 'Europe/Madrid',
+ '39': 'Europe/Madrid',
+ '51': 'Africa/Ceuta',
+ '52': 'Europe/Madrid',
+ '53': 'Atlantic/Canary',
+ '54': 'Europe/Madrid',
+ '55': 'Europe/Madrid',
+ '56': 'Europe/Madrid',
+ '57': 'Europe/Madrid',
+ '58': 'Europe/Madrid',
+ '59': 'Europe/Madrid',
+ '60': 'Europe/Madrid'
+ },
+ 'ET': 'Africa/Addis_Ababa',
+ 'FI': 'Europe/Helsinki',
+ 'FJ': 'Pacific/Fiji',
+ 'FK': 'Atlantic/Stanley',
+ 'FO': 'Atlantic/Faeroe',
+ 'FR': 'Europe/Paris',
+ 'FX': 'Europe/Paris',
+ 'GA': 'Africa/Libreville',
+ 'GB': 'Europe/London',
+ 'GD': 'America/Grenada',
+ 'GE': 'Asia/Tbilisi',
+ 'GF': 'America/Cayenne',
+ 'GG': 'Europe/Guernsey',
+ 'GH': 'Africa/Accra',
+ 'GI': 'Europe/Gibraltar',
+ 'GL': {
+ '01': 'America/Thule',
+ '02': 'America/Godthab',
+ '03': 'America/Godthab'
+ },
+ 'GM': 'Africa/Banjul',
+ 'GN': 'Africa/Conakry',
+ 'GP': 'America/Guadeloupe',
+ 'GQ': 'Africa/Malabo',
+ 'GR': 'Europe/Athens',
+ 'GS': 'Atlantic/South_Georgia',
+ 'GT': 'America/Guatemala',
+ 'GU': 'Pacific/Guam',
+ 'GW': 'Africa/Bissau',
+ 'GY': 'America/Guyana',
+ 'HK': 'Asia/Hong_Kong',
+ 'HN': 'America/Tegucigalpa',
+ 'HR': 'Europe/Zagreb',
+ 'HT': 'America/Port-au-Prince',
+ 'HU': 'Europe/Budapest',
+ 'ID': {
+ '01': 'Asia/Pontianak',
+ '02': 'Asia/Makassar',
+ '03': 'Asia/Jakarta',
+ '04': 'Asia/Jakarta',
+ '05': 'Asia/Jakarta',
+ '06': 'Asia/Jakarta',
+ '07': 'Asia/Jakarta',
+ '08': 'Asia/Jakarta',
+ '09': 'Asia/Jayapura',
+ '10': 'Asia/Jakarta',
+ '11': 'Asia/Pontianak',
+ '12': 'Asia/Makassar',
+ '13': 'Asia/Makassar',
+ '14': 'Asia/Makassar',
+ '15': 'Asia/Jakarta',
+ '16': 'Asia/Makassar',
+ '17': 'Asia/Makassar',
+ '18': 'Asia/Makassar',
+ '19': 'Asia/Pontianak',
+ '20': 'Asia/Makassar',
+ '21': 'Asia/Makassar',
+ '22': 'Asia/Makassar',
+ '23': 'Asia/Makassar',
+ '24': 'Asia/Jakarta',
+ '25': 'Asia/Pontianak',
+ '26': 'Asia/Pontianak',
+ '30': 'Asia/Jakarta',
+ '31': 'Asia/Makassar',
+ '33': 'Asia/Jakarta'
+ },
+ 'IE': 'Europe/Dublin',
+ 'IL': 'Asia/Jerusalem',
+ 'IM': 'Europe/Isle_of_Man',
+ 'IN': 'Asia/Calcutta',
+ 'IO': 'Indian/Chagos',
+ 'IQ': 'Asia/Baghdad',
+ 'IR': 'Asia/Tehran',
+ 'IS': 'Atlantic/Reykjavik',
+ 'IT': 'Europe/Rome',
+ 'JE': 'Europe/Jersey',
+ 'JM': 'America/Jamaica',
+ 'JO': 'Asia/Amman',
+ 'JP': 'Asia/Tokyo',
+ 'KE': 'Africa/Nairobi',
+ 'KG': 'Asia/Bishkek',
+ 'KH': 'Asia/Phnom_Penh',
+ 'KI': 'Pacific/Tarawa',
+ 'KM': 'Indian/Comoro',
+ 'KN': 'America/St_Kitts',
+ 'KP': 'Asia/Pyongyang',
+ 'KR': 'Asia/Seoul',
+ 'KW': 'Asia/Kuwait',
+ 'KY': 'America/Cayman',
+ 'KZ': {
+ '01': 'Asia/Almaty',
+ '02': 'Asia/Almaty',
+ '03': 'Asia/Qyzylorda',
+ '04': 'Asia/Aqtobe',
+ '05': 'Asia/Qyzylorda',
+ '06': 'Asia/Aqtau',
+ '07': 'Asia/Oral',
+ '08': 'Asia/Qyzylorda',
+ '09': 'Asia/Aqtau',
+ '10': 'Asia/Qyzylorda',
+ '11': 'Asia/Almaty',
+ '12': 'Asia/Qyzylorda',
+ '13': 'Asia/Aqtobe',
+ '14': 'Asia/Qyzylorda',
+ '15': 'Asia/Almaty',
+ '16': 'Asia/Aqtobe',
+ '17': 'Asia/Almaty'
+ },
+ 'LA': 'Asia/Vientiane',
+ 'LB': 'Asia/Beirut',
+ 'LC': 'America/St_Lucia',
+ 'LI': 'Europe/Vaduz',
+ 'LK': 'Asia/Colombo',
+ 'LR': 'Africa/Monrovia',
+ 'LS': 'Africa/Maseru',
+ 'LT': 'Europe/Vilnius',
+ 'LU': 'Europe/Luxembourg',
+ 'LV': 'Europe/Riga',
+ 'LY': 'Africa/Tripoli',
+ 'MA': 'Africa/Casablanca',
+ 'MC': 'Europe/Monaco',
+ 'MD': 'Europe/Chisinau',
+ 'ME': 'Europe/Podgorica',
+ 'MF': 'America/Marigot',
+ 'MG': 'Indian/Antananarivo',
+ 'MK': 'Europe/Skopje',
+ 'ML': 'Africa/Bamako',
+ 'MM': 'Asia/Rangoon',
+ 'MN': 'Asia/Choibalsan',
+ 'MO': 'Asia/Macao',
+ 'MP': 'Pacific/Saipan',
+ 'MQ': 'America/Martinique',
+ 'MR': 'Africa/Nouakchott',
+ 'MS': 'America/Montserrat',
+ 'MT': 'Europe/Malta',
+ 'MU': 'Indian/Mauritius',
+ 'MV': 'Indian/Maldives',
+ 'MW': 'Africa/Blantyre',
+ 'MX': {
+ '01': 'America/Mexico_City',
+ '02': 'America/Tijuana',
+ '03': 'America/Hermosillo',
+ '04': 'America/Merida',
+ '05': 'America/Mexico_City',
+ '06': 'America/Chihuahua',
+ '07': 'America/Monterrey',
+ '08': 'America/Mexico_City',
+ '09': 'America/Mexico_City',
+ '10': 'America/Mazatlan',
+ '11': 'America/Mexico_City',
+ '12': 'America/Mexico_City',
+ '13': 'America/Mexico_City',
+ '14': 'America/Mazatlan',
+ '15': 'America/Chihuahua',
+ '16': 'America/Mexico_City',
+ '17': 'America/Mexico_City',
+ '18': 'America/Mazatlan',
+ '19': 'America/Monterrey',
+ '20': 'America/Mexico_City',
+ '21': 'America/Mexico_City',
+ '22': 'America/Mexico_City',
+ '23': 'America/Cancun',
+ '24': 'America/Mexico_City',
+ '25': 'America/Mazatlan',
+ '26': 'America/Hermosillo',
+ '27': 'America/Merida',
+ '28': 'America/Monterrey',
+ '29': 'America/Mexico_City',
+ '30': 'America/Mexico_City',
+ '31': 'America/Merida',
+ '32': 'America/Monterrey'
+ },
+ 'MY': {
+ '01': 'Asia/Kuala_Lumpur',
+ '02': 'Asia/Kuala_Lumpur',
+ '03': 'Asia/Kuala_Lumpur',
+ '04': 'Asia/Kuala_Lumpur',
+ '05': 'Asia/Kuala_Lumpur',
+ '06': 'Asia/Kuala_Lumpur',
+ '07': 'Asia/Kuala_Lumpur',
+ '08': 'Asia/Kuala_Lumpur',
+ '09': 'Asia/Kuala_Lumpur',
+ '11': 'Asia/Kuching',
+ '12': 'Asia/Kuala_Lumpur',
+ '13': 'Asia/Kuala_Lumpur',
+ '14': 'Asia/Kuala_Lumpur',
+ '15': 'Asia/Kuching',
+ '16': 'Asia/Kuching'
+ },
+ 'MZ': 'Africa/Maputo',
+ 'NA': 'Africa/Windhoek',
+ 'NC': 'Pacific/Noumea',
+ 'NE': 'Africa/Niamey',
+ 'NF': 'Pacific/Norfolk',
+ 'NG': 'Africa/Lagos',
+ 'NI': 'America/Managua',
+ 'NL': 'Europe/Amsterdam',
+ 'NO': 'Europe/Oslo',
+ 'NP': 'Asia/Katmandu',
+ 'NR': 'Pacific/Nauru',
+ 'NU': 'Pacific/Niue',
+ 'NZ': {
+ '85': 'Pacific/Auckland',
+ 'E7': 'Pacific/Auckland',
+ 'E8': 'Pacific/Auckland',
+ 'E9': 'Pacific/Auckland',
+ 'F1': 'Pacific/Auckland',
+ 'F2': 'Pacific/Auckland',
+ 'F3': 'Pacific/Auckland',
+ 'F4': 'Pacific/Auckland',
+ 'F5': 'Pacific/Auckland',
+ 'F7': 'Pacific/Chatham',
+ 'F8': 'Pacific/Auckland',
+ 'F9': 'Pacific/Auckland',
+ 'G1': 'Pacific/Auckland',
+ 'G2': 'Pacific/Auckland',
+ 'G3': 'Pacific/Auckland'
+ },
+ 'OM': 'Asia/Muscat',
+ 'PA': 'America/Panama',
+ 'PE': 'America/Lima',
+ 'PF': 'Pacific/Marquesas',
+ 'PG': 'Pacific/Port_Moresby',
+ 'PH': 'Asia/Manila',
+ 'PK': 'Asia/Karachi',
+ 'PL': 'Europe/Warsaw',
+ 'PM': 'America/Miquelon',
+ 'PN': 'Pacific/Pitcairn',
+ 'PR': 'America/Puerto_Rico',
+ 'PS': 'Asia/Gaza',
+ 'PT': {
+ '02': 'Europe/Lisbon',
+ '03': 'Europe/Lisbon',
+ '04': 'Europe/Lisbon',
+ '05': 'Europe/Lisbon',
+ '06': 'Europe/Lisbon',
+ '07': 'Europe/Lisbon',
+ '08': 'Europe/Lisbon',
+ '09': 'Europe/Lisbon',
+ '10': 'Atlantic/Madeira',
+ '11': 'Europe/Lisbon',
+ '13': 'Europe/Lisbon',
+ '14': 'Europe/Lisbon',
+ '16': 'Europe/Lisbon',
+ '17': 'Europe/Lisbon',
+ '18': 'Europe/Lisbon',
+ '19': 'Europe/Lisbon',
+ '20': 'Europe/Lisbon',
+ '21': 'Europe/Lisbon',
+ '22': 'Europe/Lisbon'
+ },
+ 'PW': 'Pacific/Palau',
+ 'PY': 'America/Asuncion',
+ 'QA': 'Asia/Qatar',
+ 'RE': 'Indian/Reunion',
+ 'RO': 'Europe/Bucharest',
+ 'RS': 'Europe/Belgrade',
+ 'RU': {
+ '01': 'Europe/Volgograd',
+ '02': 'Asia/Irkutsk',
+ '03': 'Asia/Novokuznetsk',
+ '04': 'Asia/Novosibirsk',
+ '05': 'Asia/Vladivostok',
+ '06': 'Europe/Moscow',
+ '07': 'Europe/Volgograd',
+ '08': 'Europe/Samara',
+ '09': 'Europe/Moscow',
+ '10': 'Europe/Moscow',
+ '11': 'Asia/Irkutsk',
+ '13': 'Asia/Yekaterinburg',
+ '14': 'Asia/Irkutsk',
+ '15': 'Asia/Anadyr',
+ '16': 'Europe/Samara',
+ '17': 'Europe/Volgograd',
+ '18': 'Asia/Krasnoyarsk',
+ '20': 'Asia/Irkutsk',
+ '21': 'Europe/Moscow',
+ '22': 'Europe/Volgograd',
+ '23': 'Europe/Kaliningrad',
+ '24': 'Europe/Volgograd',
+ '25': 'Europe/Moscow',
+ '26': 'Asia/Kamchatka',
+ '27': 'Europe/Volgograd',
+ '28': 'Europe/Moscow',
+ '29': 'Asia/Novokuznetsk',
+ '30': 'Asia/Vladivostok',
+ '31': 'Asia/Krasnoyarsk',
+ '32': 'Asia/Omsk',
+ '33': 'Asia/Yekaterinburg',
+ '34': 'Asia/Yekaterinburg',
+ '35': 'Asia/Yekaterinburg',
+ '36': 'Asia/Anadyr',
+ '37': 'Europe/Moscow',
+ '38': 'Europe/Volgograd',
+ '39': 'Asia/Krasnoyarsk',
+ '40': 'Asia/Yekaterinburg',
+ '41': 'Europe/Moscow',
+ '42': 'Europe/Moscow',
+ '43': 'Europe/Moscow',
+ '44': 'Asia/Magadan',
+ '45': 'Europe/Samara',
+ '46': 'Europe/Samara',
+ '47': 'Europe/Moscow',
+ '48': 'Europe/Moscow',
+ '49': 'Europe/Moscow',
+ '50': 'Asia/Yekaterinburg',
+ '51': 'Europe/Moscow',
+ '52': 'Europe/Moscow',
+ '53': 'Asia/Novosibirsk',
+ '54': 'Asia/Omsk',
+ '55': 'Europe/Samara',
+ '56': 'Europe/Moscow',
+ '57': 'Europe/Samara',
+ '58': 'Asia/Yekaterinburg',
+ '59': 'Asia/Vladivostok',
+ '60': 'Europe/Kaliningrad',
+ '61': 'Europe/Volgograd',
+ '62': 'Europe/Moscow',
+ '63': 'Asia/Yakutsk',
+ '64': 'Asia/Sakhalin',
+ '65': 'Europe/Samara',
+ '66': 'Europe/Moscow',
+ '67': 'Europe/Samara',
+ '68': 'Europe/Volgograd',
+ '69': 'Europe/Moscow',
+ '70': 'Europe/Volgograd',
+ '71': 'Asia/Yekaterinburg',
+ '72': 'Europe/Moscow',
+ '73': 'Europe/Samara',
+ '74': 'Asia/Krasnoyarsk',
+ '75': 'Asia/Novosibirsk',
+ '76': 'Europe/Moscow',
+ '77': 'Europe/Moscow',
+ '78': 'Asia/Yekaterinburg',
+ '79': 'Asia/Irkutsk',
+ '80': 'Asia/Yekaterinburg',
+ '81': 'Europe/Samara',
+ '82': 'Asia/Irkutsk',
+ '83': 'Europe/Moscow',
+ '84': 'Europe/Volgograd',
+ '85': 'Europe/Moscow',
+ '86': 'Europe/Moscow',
+ '87': 'Asia/Novosibirsk',
+ '88': 'Europe/Moscow',
+ '89': 'Asia/Vladivostok'
+ },
+ 'RW': 'Africa/Kigali',
+ 'SA': 'Asia/Riyadh',
+ 'SB': 'Pacific/Guadalcanal',
+ 'SC': 'Indian/Mahe',
+ 'SD': 'Africa/Khartoum',
+ 'SE': 'Europe/Stockholm',
+ 'SG': 'Asia/Singapore',
+ 'SH': 'Atlantic/St_Helena',
+ 'SI': 'Europe/Ljubljana',
+ 'SJ': 'Arctic/Longyearbyen',
+ 'SK': 'Europe/Bratislava',
+ 'SL': 'Africa/Freetown',
+ 'SM': 'Europe/San_Marino',
+ 'SN': 'Africa/Dakar',
+ 'SO': 'Africa/Mogadishu',
+ 'SR': 'America/Paramaribo',
+ 'SS': 'Africa/Juba',
+ 'ST': 'Africa/Sao_Tome',
+ 'SV': 'America/El_Salvador',
+ 'SX': 'America/Curacao',
+ 'SY': 'Asia/Damascus',
+ 'SZ': 'Africa/Mbabane',
+ 'TC': 'America/Grand_Turk',
+ 'TD': 'Africa/Ndjamena',
+ 'TF': 'Indian/Kerguelen',
+ 'TG': 'Africa/Lome',
+ 'TH': 'Asia/Bangkok',
+ 'TJ': 'Asia/Dushanbe',
+ 'TK': 'Pacific/Fakaofo',
+ 'TL': 'Asia/Dili',
+ 'TM': 'Asia/Ashgabat',
+ 'TN': 'Africa/Tunis',
+ 'TO': 'Pacific/Tongatapu',
+ 'TR': 'Asia/Istanbul',
+ 'TT': 'America/Port_of_Spain',
+ 'TV': 'Pacific/Funafuti',
+ 'TW': 'Asia/Taipei',
+ 'TZ': 'Africa/Dar_es_Salaam',
+ 'UA': {
+ '01': 'Europe/Kiev',
+ '02': 'Europe/Kiev',
+ '03': 'Europe/Uzhgorod',
+ '04': 'Europe/Zaporozhye',
+ '05': 'Europe/Zaporozhye',
+ '06': 'Europe/Uzhgorod',
+ '07': 'Europe/Zaporozhye',
+ '08': 'Europe/Simferopol',
+ '09': 'Europe/Kiev',
+ '10': 'Europe/Zaporozhye',
+ '11': 'Europe/Simferopol',
+ '13': 'Europe/Kiev',
+ '14': 'Europe/Zaporozhye',
+ '15': 'Europe/Uzhgorod',
+ '16': 'Europe/Zaporozhye',
+ '17': 'Europe/Simferopol',
+ '18': 'Europe/Zaporozhye',
+ '19': 'Europe/Kiev',
+ '20': 'Europe/Simferopol',
+ '21': 'Europe/Kiev',
+ '22': 'Europe/Uzhgorod',
+ '23': 'Europe/Kiev',
+ '24': 'Europe/Uzhgorod',
+ '25': 'Europe/Uzhgorod',
+ '26': 'Europe/Zaporozhye',
+ '27': 'Europe/Kiev'
+ },
+ 'UG': 'Africa/Kampala',
+ 'US': {
+ 'AK': 'America/Anchorage',
+ 'AL': 'America/Chicago',
+ 'AR': 'America/Chicago',
+ 'AZ': 'America/Phoenix',
+ 'CA': 'America/Los_Angeles',
+ 'CO': 'America/Denver',
+ 'CT': 'America/New_York',
+ 'DC': 'America/New_York',
+ 'DE': 'America/New_York',
+ 'FL': 'America/New_York',
+ 'GA': 'America/New_York',
+ 'HI': 'Pacific/Honolulu',
+ 'IA': 'America/Chicago',
+ 'ID': 'America/Denver',
+ 'IL': 'America/Chicago',
+ 'IN': 'America/Indianapolis',
+ 'KS': 'America/Chicago',
+ 'KY': 'America/New_York',
+ 'LA': 'America/Chicago',
+ 'MA': 'America/New_York',
+ 'MD': 'America/New_York',
+ 'ME': 'America/New_York',
+ 'MI': 'America/New_York',
+ 'MN': 'America/Chicago',
+ 'MO': 'America/Chicago',
+ 'MS': 'America/Chicago',
+ 'MT': 'America/Denver',
+ 'NC': 'America/New_York',
+ 'ND': 'America/Chicago',
+ 'NE': 'America/Chicago',
+ 'NH': 'America/New_York',
+ 'NJ': 'America/New_York',
+ 'NM': 'America/Denver',
+ 'NV': 'America/Los_Angeles',
+ 'NY': 'America/New_York',
+ 'OH': 'America/New_York',
+ 'OK': 'America/Chicago',
+ 'OR': 'America/Los_Angeles',
+ 'PA': 'America/New_York',
+ 'RI': 'America/New_York',
+ 'SC': 'America/New_York',
+ 'SD': 'America/Chicago',
+ 'TN': 'America/Chicago',
+ 'TX': 'America/Chicago',
+ 'UT': 'America/Denver',
+ 'VA': 'America/New_York',
+ 'VT': 'America/New_York',
+ 'WA': 'America/Los_Angeles',
+ 'WI': 'America/Chicago',
+ 'WV': 'America/New_York',
+ 'WY': 'America/Denver'
+ },
+ 'UY': 'America/Montevideo',
+ 'UZ': {
+ '01': 'Asia/Tashkent',
+ '02': 'Asia/Samarkand',
+ '03': 'Asia/Tashkent',
+ '06': 'Asia/Tashkent',
+ '07': 'Asia/Samarkand',
+ '08': 'Asia/Samarkand',
+ '09': 'Asia/Samarkand',
+ '10': 'Asia/Samarkand',
+ '12': 'Asia/Samarkand',
+ '13': 'Asia/Tashkent',
+ '14': 'Asia/Tashkent'
+ },
+ 'VA': 'Europe/Vatican',
+ 'VC': 'America/St_Vincent',
+ 'VE': 'America/Caracas',
+ 'VG': 'America/Tortola',
+ 'VI': 'America/St_Thomas',
+ 'VN': 'Asia/Phnom_Penh',
+ 'VU': 'Pacific/Efate',
+ 'WF': 'Pacific/Wallis',
+ 'WS': 'Pacific/Samoa',
+ 'YE': 'Asia/Aden',
+ 'YT': 'Indian/Mayotte',
+ 'YU': 'Europe/Belgrade',
+ 'ZA': 'Africa/Johannesburg',
+ 'ZM': 'Africa/Lusaka',
+ 'ZW': 'Africa/Harare'
+ }
+
+
+def time_zone_by_country_and_region(country_code, region_name=None):
+ if country_code not in _country:
+ return ''
+
+ if not region_name or region_name == '00':
+ region_name = None
+
+ timezones = _country[country_code]
+ if isinstance(timezones, str):
+ return timezones
+
+ if not region_name:
+ return ''
+
+ return timezones.get(region_name)
« no previous file with comments | « pygeoip/const.py ('k') | pygeoip/util.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld