From: <ds...@us...> - 2007-11-09 01:40:56
|
Revision: 4173 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4173&view=rev Author: dsdale Date: 2007-11-08 17:40:54 -0800 (Thu, 08 Nov 2007) Log Message: ----------- added pytz-2007g Modified Paths: -------------- trunk/matplotlib/CHANGELOG Added Paths: ----------- trunk/matplotlib/lib/pytz/ trunk/matplotlib/lib/pytz/CHANGES.txt trunk/matplotlib/lib/pytz/LICENSE.txt trunk/matplotlib/lib/pytz/README.txt trunk/matplotlib/lib/pytz/__init__.py trunk/matplotlib/lib/pytz/reference.py trunk/matplotlib/lib/pytz/tzfile.py trunk/matplotlib/lib/pytz/tzinfo.py trunk/matplotlib/lib/pytz/zoneinfo/ trunk/matplotlib/lib/pytz/zoneinfo/Africa/ trunk/matplotlib/lib/pytz/zoneinfo/Africa/Abidjan trunk/matplotlib/lib/pytz/zoneinfo/Africa/Accra trunk/matplotlib/lib/pytz/zoneinfo/Africa/Addis_Ababa trunk/matplotlib/lib/pytz/zoneinfo/Africa/Algiers trunk/matplotlib/lib/pytz/zoneinfo/Africa/Asmara trunk/matplotlib/lib/pytz/zoneinfo/Africa/Asmera trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bamako trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bangui trunk/matplotlib/lib/pytz/zoneinfo/Africa/Banjul trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bissau trunk/matplotlib/lib/pytz/zoneinfo/Africa/Blantyre trunk/matplotlib/lib/pytz/zoneinfo/Africa/Brazzaville trunk/matplotlib/lib/pytz/zoneinfo/Africa/Bujumbura trunk/matplotlib/lib/pytz/zoneinfo/Africa/Cairo trunk/matplotlib/lib/pytz/zoneinfo/Africa/Casablanca trunk/matplotlib/lib/pytz/zoneinfo/Africa/Ceuta trunk/matplotlib/lib/pytz/zoneinfo/Africa/Conakry trunk/matplotlib/lib/pytz/zoneinfo/Africa/Dakar trunk/matplotlib/lib/pytz/zoneinfo/Africa/Dar_es_Salaam trunk/matplotlib/lib/pytz/zoneinfo/Africa/Djibouti trunk/matplotlib/lib/pytz/zoneinfo/Africa/Douala trunk/matplotlib/lib/pytz/zoneinfo/Africa/El_Aaiun trunk/matplotlib/lib/pytz/zoneinfo/Africa/Freetown trunk/matplotlib/lib/pytz/zoneinfo/Africa/Gaborone trunk/matplotlib/lib/pytz/zoneinfo/Africa/Harare trunk/matplotlib/lib/pytz/zoneinfo/Africa/Johannesburg trunk/matplotlib/lib/pytz/zoneinfo/Africa/Kampala trunk/matplotlib/lib/pytz/zoneinfo/Africa/Khartoum trunk/matplotlib/lib/pytz/zoneinfo/Africa/Kigali trunk/matplotlib/lib/pytz/zoneinfo/Africa/Kinshasa trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lagos trunk/matplotlib/lib/pytz/zoneinfo/Africa/Libreville trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lome trunk/matplotlib/lib/pytz/zoneinfo/Africa/Luanda trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lubumbashi trunk/matplotlib/lib/pytz/zoneinfo/Africa/Lusaka trunk/matplotlib/lib/pytz/zoneinfo/Africa/Malabo trunk/matplotlib/lib/pytz/zoneinfo/Africa/Maputo trunk/matplotlib/lib/pytz/zoneinfo/Africa/Maseru trunk/matplotlib/lib/pytz/zoneinfo/Africa/Mbabane trunk/matplotlib/lib/pytz/zoneinfo/Africa/Mogadishu trunk/matplotlib/lib/pytz/zoneinfo/Africa/Monrovia trunk/matplotlib/lib/pytz/zoneinfo/Africa/Nairobi trunk/matplotlib/lib/pytz/zoneinfo/Africa/Ndjamena trunk/matplotlib/lib/pytz/zoneinfo/Africa/Niamey trunk/matplotlib/lib/pytz/zoneinfo/Africa/Nouakchott trunk/matplotlib/lib/pytz/zoneinfo/Africa/Ouagadougou trunk/matplotlib/lib/pytz/zoneinfo/Africa/Porto-Novo trunk/matplotlib/lib/pytz/zoneinfo/Africa/Sao_Tome trunk/matplotlib/lib/pytz/zoneinfo/Africa/Timbuktu trunk/matplotlib/lib/pytz/zoneinfo/Africa/Tripoli trunk/matplotlib/lib/pytz/zoneinfo/Africa/Tunis trunk/matplotlib/lib/pytz/zoneinfo/Africa/Windhoek trunk/matplotlib/lib/pytz/zoneinfo/America/ trunk/matplotlib/lib/pytz/zoneinfo/America/Adak trunk/matplotlib/lib/pytz/zoneinfo/America/Anchorage trunk/matplotlib/lib/pytz/zoneinfo/America/Anguilla trunk/matplotlib/lib/pytz/zoneinfo/America/Antigua trunk/matplotlib/lib/pytz/zoneinfo/America/Araguaina trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/ trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Buenos_Aires trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Catamarca trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/ComodRivadavia trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Cordoba trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Jujuy trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/La_Rioja trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Mendoza trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Rio_Gallegos trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/San_Juan trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Tucuman trunk/matplotlib/lib/pytz/zoneinfo/America/Argentina/Ushuaia trunk/matplotlib/lib/pytz/zoneinfo/America/Aruba trunk/matplotlib/lib/pytz/zoneinfo/America/Asuncion trunk/matplotlib/lib/pytz/zoneinfo/America/Atikokan trunk/matplotlib/lib/pytz/zoneinfo/America/Atka trunk/matplotlib/lib/pytz/zoneinfo/America/Bahia trunk/matplotlib/lib/pytz/zoneinfo/America/Barbados trunk/matplotlib/lib/pytz/zoneinfo/America/Belem trunk/matplotlib/lib/pytz/zoneinfo/America/Belize trunk/matplotlib/lib/pytz/zoneinfo/America/Blanc-Sablon trunk/matplotlib/lib/pytz/zoneinfo/America/Boa_Vista trunk/matplotlib/lib/pytz/zoneinfo/America/Bogota trunk/matplotlib/lib/pytz/zoneinfo/America/Boise trunk/matplotlib/lib/pytz/zoneinfo/America/Buenos_Aires trunk/matplotlib/lib/pytz/zoneinfo/America/Cambridge_Bay trunk/matplotlib/lib/pytz/zoneinfo/America/Campo_Grande trunk/matplotlib/lib/pytz/zoneinfo/America/Cancun trunk/matplotlib/lib/pytz/zoneinfo/America/Caracas trunk/matplotlib/lib/pytz/zoneinfo/America/Catamarca trunk/matplotlib/lib/pytz/zoneinfo/America/Cayenne trunk/matplotlib/lib/pytz/zoneinfo/America/Cayman trunk/matplotlib/lib/pytz/zoneinfo/America/Chicago trunk/matplotlib/lib/pytz/zoneinfo/America/Chihuahua trunk/matplotlib/lib/pytz/zoneinfo/America/Coral_Harbour trunk/matplotlib/lib/pytz/zoneinfo/America/Cordoba trunk/matplotlib/lib/pytz/zoneinfo/America/Costa_Rica trunk/matplotlib/lib/pytz/zoneinfo/America/Cuiaba trunk/matplotlib/lib/pytz/zoneinfo/America/Curacao trunk/matplotlib/lib/pytz/zoneinfo/America/Danmarkshavn trunk/matplotlib/lib/pytz/zoneinfo/America/Dawson trunk/matplotlib/lib/pytz/zoneinfo/America/Dawson_Creek trunk/matplotlib/lib/pytz/zoneinfo/America/Denver trunk/matplotlib/lib/pytz/zoneinfo/America/Detroit trunk/matplotlib/lib/pytz/zoneinfo/America/Dominica trunk/matplotlib/lib/pytz/zoneinfo/America/Edmonton trunk/matplotlib/lib/pytz/zoneinfo/America/Eirunepe trunk/matplotlib/lib/pytz/zoneinfo/America/El_Salvador trunk/matplotlib/lib/pytz/zoneinfo/America/Ensenada trunk/matplotlib/lib/pytz/zoneinfo/America/Fort_Wayne trunk/matplotlib/lib/pytz/zoneinfo/America/Fortaleza trunk/matplotlib/lib/pytz/zoneinfo/America/Glace_Bay trunk/matplotlib/lib/pytz/zoneinfo/America/Godthab trunk/matplotlib/lib/pytz/zoneinfo/America/Goose_Bay trunk/matplotlib/lib/pytz/zoneinfo/America/Grand_Turk trunk/matplotlib/lib/pytz/zoneinfo/America/Grenada trunk/matplotlib/lib/pytz/zoneinfo/America/Guadeloupe trunk/matplotlib/lib/pytz/zoneinfo/America/Guatemala trunk/matplotlib/lib/pytz/zoneinfo/America/Guayaquil trunk/matplotlib/lib/pytz/zoneinfo/America/Guyana trunk/matplotlib/lib/pytz/zoneinfo/America/Halifax trunk/matplotlib/lib/pytz/zoneinfo/America/Havana trunk/matplotlib/lib/pytz/zoneinfo/America/Hermosillo trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/ trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Indianapolis trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Knox trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Marengo trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Petersburg trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Tell_City trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Vevay trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Vincennes trunk/matplotlib/lib/pytz/zoneinfo/America/Indiana/Winamac trunk/matplotlib/lib/pytz/zoneinfo/America/Indianapolis trunk/matplotlib/lib/pytz/zoneinfo/America/Inuvik trunk/matplotlib/lib/pytz/zoneinfo/America/Iqaluit trunk/matplotlib/lib/pytz/zoneinfo/America/Jamaica trunk/matplotlib/lib/pytz/zoneinfo/America/Jujuy trunk/matplotlib/lib/pytz/zoneinfo/America/Juneau trunk/matplotlib/lib/pytz/zoneinfo/America/Kentucky/ trunk/matplotlib/lib/pytz/zoneinfo/America/Kentucky/Louisville trunk/matplotlib/lib/pytz/zoneinfo/America/Kentucky/Monticello trunk/matplotlib/lib/pytz/zoneinfo/America/Knox_IN trunk/matplotlib/lib/pytz/zoneinfo/America/La_Paz trunk/matplotlib/lib/pytz/zoneinfo/America/Lima trunk/matplotlib/lib/pytz/zoneinfo/America/Los_Angeles trunk/matplotlib/lib/pytz/zoneinfo/America/Louisville trunk/matplotlib/lib/pytz/zoneinfo/America/Maceio trunk/matplotlib/lib/pytz/zoneinfo/America/Managua trunk/matplotlib/lib/pytz/zoneinfo/America/Manaus trunk/matplotlib/lib/pytz/zoneinfo/America/Martinique trunk/matplotlib/lib/pytz/zoneinfo/America/Mazatlan trunk/matplotlib/lib/pytz/zoneinfo/America/Mendoza trunk/matplotlib/lib/pytz/zoneinfo/America/Menominee trunk/matplotlib/lib/pytz/zoneinfo/America/Merida trunk/matplotlib/lib/pytz/zoneinfo/America/Mexico_City trunk/matplotlib/lib/pytz/zoneinfo/America/Miquelon trunk/matplotlib/lib/pytz/zoneinfo/America/Moncton trunk/matplotlib/lib/pytz/zoneinfo/America/Monterrey trunk/matplotlib/lib/pytz/zoneinfo/America/Montevideo trunk/matplotlib/lib/pytz/zoneinfo/America/Montreal trunk/matplotlib/lib/pytz/zoneinfo/America/Montserrat trunk/matplotlib/lib/pytz/zoneinfo/America/Nassau trunk/matplotlib/lib/pytz/zoneinfo/America/New_York trunk/matplotlib/lib/pytz/zoneinfo/America/Nipigon trunk/matplotlib/lib/pytz/zoneinfo/America/Nome trunk/matplotlib/lib/pytz/zoneinfo/America/Noronha trunk/matplotlib/lib/pytz/zoneinfo/America/North_Dakota/ trunk/matplotlib/lib/pytz/zoneinfo/America/North_Dakota/Center trunk/matplotlib/lib/pytz/zoneinfo/America/North_Dakota/New_Salem trunk/matplotlib/lib/pytz/zoneinfo/America/Panama trunk/matplotlib/lib/pytz/zoneinfo/America/Pangnirtung trunk/matplotlib/lib/pytz/zoneinfo/America/Paramaribo trunk/matplotlib/lib/pytz/zoneinfo/America/Phoenix trunk/matplotlib/lib/pytz/zoneinfo/America/Port-au-Prince trunk/matplotlib/lib/pytz/zoneinfo/America/Port_of_Spain trunk/matplotlib/lib/pytz/zoneinfo/America/Porto_Acre trunk/matplotlib/lib/pytz/zoneinfo/America/Porto_Velho trunk/matplotlib/lib/pytz/zoneinfo/America/Puerto_Rico trunk/matplotlib/lib/pytz/zoneinfo/America/Rainy_River trunk/matplotlib/lib/pytz/zoneinfo/America/Rankin_Inlet trunk/matplotlib/lib/pytz/zoneinfo/America/Recife trunk/matplotlib/lib/pytz/zoneinfo/America/Regina trunk/matplotlib/lib/pytz/zoneinfo/America/Resolute trunk/matplotlib/lib/pytz/zoneinfo/America/Rio_Branco trunk/matplotlib/lib/pytz/zoneinfo/America/Rosario trunk/matplotlib/lib/pytz/zoneinfo/America/Santiago trunk/matplotlib/lib/pytz/zoneinfo/America/Santo_Domingo trunk/matplotlib/lib/pytz/zoneinfo/America/Sao_Paulo trunk/matplotlib/lib/pytz/zoneinfo/America/Scoresbysund trunk/matplotlib/lib/pytz/zoneinfo/America/Shiprock trunk/matplotlib/lib/pytz/zoneinfo/America/St_Johns trunk/matplotlib/lib/pytz/zoneinfo/America/St_Kitts trunk/matplotlib/lib/pytz/zoneinfo/America/St_Lucia trunk/matplotlib/lib/pytz/zoneinfo/America/St_Thomas trunk/matplotlib/lib/pytz/zoneinfo/America/St_Vincent trunk/matplotlib/lib/pytz/zoneinfo/America/Swift_Current trunk/matplotlib/lib/pytz/zoneinfo/America/Tegucigalpa trunk/matplotlib/lib/pytz/zoneinfo/America/Thule trunk/matplotlib/lib/pytz/zoneinfo/America/Thunder_Bay trunk/matplotlib/lib/pytz/zoneinfo/America/Tijuana trunk/matplotlib/lib/pytz/zoneinfo/America/Toronto trunk/matplotlib/lib/pytz/zoneinfo/America/Tortola trunk/matplotlib/lib/pytz/zoneinfo/America/Vancouver trunk/matplotlib/lib/pytz/zoneinfo/America/Virgin trunk/matplotlib/lib/pytz/zoneinfo/America/Whitehorse trunk/matplotlib/lib/pytz/zoneinfo/America/Winnipeg trunk/matplotlib/lib/pytz/zoneinfo/America/Yakutat trunk/matplotlib/lib/pytz/zoneinfo/America/Yellowknife trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/ trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Casey trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Davis trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/DumontDUrville trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Mawson trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/McMurdo trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Palmer trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Rothera trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/South_Pole trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Syowa trunk/matplotlib/lib/pytz/zoneinfo/Antarctica/Vostok trunk/matplotlib/lib/pytz/zoneinfo/Arctic/ trunk/matplotlib/lib/pytz/zoneinfo/Arctic/Longyearbyen trunk/matplotlib/lib/pytz/zoneinfo/Asia/ trunk/matplotlib/lib/pytz/zoneinfo/Asia/Aden trunk/matplotlib/lib/pytz/zoneinfo/Asia/Almaty trunk/matplotlib/lib/pytz/zoneinfo/Asia/Amman trunk/matplotlib/lib/pytz/zoneinfo/Asia/Anadyr trunk/matplotlib/lib/pytz/zoneinfo/Asia/Aqtau trunk/matplotlib/lib/pytz/zoneinfo/Asia/Aqtobe trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ashgabat trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ashkhabad trunk/matplotlib/lib/pytz/zoneinfo/Asia/Baghdad trunk/matplotlib/lib/pytz/zoneinfo/Asia/Bahrain trunk/matplotlib/lib/pytz/zoneinfo/Asia/Baku trunk/matplotlib/lib/pytz/zoneinfo/Asia/Bangkok trunk/matplotlib/lib/pytz/zoneinfo/Asia/Beirut trunk/matplotlib/lib/pytz/zoneinfo/Asia/Bishkek trunk/matplotlib/lib/pytz/zoneinfo/Asia/Brunei trunk/matplotlib/lib/pytz/zoneinfo/Asia/Calcutta trunk/matplotlib/lib/pytz/zoneinfo/Asia/Choibalsan trunk/matplotlib/lib/pytz/zoneinfo/Asia/Chongqing trunk/matplotlib/lib/pytz/zoneinfo/Asia/Chungking trunk/matplotlib/lib/pytz/zoneinfo/Asia/Colombo trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dacca trunk/matplotlib/lib/pytz/zoneinfo/Asia/Damascus trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dhaka trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dili trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dubai trunk/matplotlib/lib/pytz/zoneinfo/Asia/Dushanbe trunk/matplotlib/lib/pytz/zoneinfo/Asia/Gaza trunk/matplotlib/lib/pytz/zoneinfo/Asia/Harbin trunk/matplotlib/lib/pytz/zoneinfo/Asia/Hong_Kong trunk/matplotlib/lib/pytz/zoneinfo/Asia/Hovd trunk/matplotlib/lib/pytz/zoneinfo/Asia/Irkutsk trunk/matplotlib/lib/pytz/zoneinfo/Asia/Istanbul trunk/matplotlib/lib/pytz/zoneinfo/Asia/Jakarta trunk/matplotlib/lib/pytz/zoneinfo/Asia/Jayapura trunk/matplotlib/lib/pytz/zoneinfo/Asia/Jerusalem trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kabul trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kamchatka trunk/matplotlib/lib/pytz/zoneinfo/Asia/Karachi trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kashgar trunk/matplotlib/lib/pytz/zoneinfo/Asia/Katmandu trunk/matplotlib/lib/pytz/zoneinfo/Asia/Krasnoyarsk trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kuala_Lumpur trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kuching trunk/matplotlib/lib/pytz/zoneinfo/Asia/Kuwait trunk/matplotlib/lib/pytz/zoneinfo/Asia/Macao trunk/matplotlib/lib/pytz/zoneinfo/Asia/Macau trunk/matplotlib/lib/pytz/zoneinfo/Asia/Magadan trunk/matplotlib/lib/pytz/zoneinfo/Asia/Makassar trunk/matplotlib/lib/pytz/zoneinfo/Asia/Manila trunk/matplotlib/lib/pytz/zoneinfo/Asia/Muscat trunk/matplotlib/lib/pytz/zoneinfo/Asia/Nicosia trunk/matplotlib/lib/pytz/zoneinfo/Asia/Novosibirsk trunk/matplotlib/lib/pytz/zoneinfo/Asia/Omsk trunk/matplotlib/lib/pytz/zoneinfo/Asia/Oral trunk/matplotlib/lib/pytz/zoneinfo/Asia/Phnom_Penh trunk/matplotlib/lib/pytz/zoneinfo/Asia/Pontianak trunk/matplotlib/lib/pytz/zoneinfo/Asia/Pyongyang trunk/matplotlib/lib/pytz/zoneinfo/Asia/Qatar trunk/matplotlib/lib/pytz/zoneinfo/Asia/Qyzylorda trunk/matplotlib/lib/pytz/zoneinfo/Asia/Rangoon trunk/matplotlib/lib/pytz/zoneinfo/Asia/Riyadh trunk/matplotlib/lib/pytz/zoneinfo/Asia/Riyadh87 trunk/matplotlib/lib/pytz/zoneinfo/Asia/Riyadh88 trunk/matplotlib/lib/pytz/zoneinfo/Asia/Riyadh89 trunk/matplotlib/lib/pytz/zoneinfo/Asia/Saigon trunk/matplotlib/lib/pytz/zoneinfo/Asia/Sakhalin trunk/matplotlib/lib/pytz/zoneinfo/Asia/Samarkand trunk/matplotlib/lib/pytz/zoneinfo/Asia/Seoul trunk/matplotlib/lib/pytz/zoneinfo/Asia/Shanghai trunk/matplotlib/lib/pytz/zoneinfo/Asia/Singapore trunk/matplotlib/lib/pytz/zoneinfo/Asia/Taipei trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tashkent trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tbilisi trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tehran trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tel_Aviv trunk/matplotlib/lib/pytz/zoneinfo/Asia/Thimbu trunk/matplotlib/lib/pytz/zoneinfo/Asia/Thimphu trunk/matplotlib/lib/pytz/zoneinfo/Asia/Tokyo trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ujung_Pandang trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ulaanbaatar trunk/matplotlib/lib/pytz/zoneinfo/Asia/Ulan_Bator trunk/matplotlib/lib/pytz/zoneinfo/Asia/Urumqi trunk/matplotlib/lib/pytz/zoneinfo/Asia/Vientiane trunk/matplotlib/lib/pytz/zoneinfo/Asia/Vladivostok trunk/matplotlib/lib/pytz/zoneinfo/Asia/Yakutsk trunk/matplotlib/lib/pytz/zoneinfo/Asia/Yekaterinburg trunk/matplotlib/lib/pytz/zoneinfo/Asia/Yerevan trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/ trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Azores trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Bermuda trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Canary trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Cape_Verde trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Faeroe trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Faroe trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Jan_Mayen trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Madeira trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Reykjavik trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/South_Georgia trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/St_Helena trunk/matplotlib/lib/pytz/zoneinfo/Atlantic/Stanley trunk/matplotlib/lib/pytz/zoneinfo/Australia/ trunk/matplotlib/lib/pytz/zoneinfo/Australia/ACT trunk/matplotlib/lib/pytz/zoneinfo/Australia/Adelaide trunk/matplotlib/lib/pytz/zoneinfo/Australia/Brisbane trunk/matplotlib/lib/pytz/zoneinfo/Australia/Broken_Hill trunk/matplotlib/lib/pytz/zoneinfo/Australia/Canberra trunk/matplotlib/lib/pytz/zoneinfo/Australia/Currie trunk/matplotlib/lib/pytz/zoneinfo/Australia/Darwin trunk/matplotlib/lib/pytz/zoneinfo/Australia/Eucla trunk/matplotlib/lib/pytz/zoneinfo/Australia/Hobart trunk/matplotlib/lib/pytz/zoneinfo/Australia/LHI trunk/matplotlib/lib/pytz/zoneinfo/Australia/Lindeman trunk/matplotlib/lib/pytz/zoneinfo/Australia/Lord_Howe trunk/matplotlib/lib/pytz/zoneinfo/Australia/Melbourne trunk/matplotlib/lib/pytz/zoneinfo/Australia/NSW trunk/matplotlib/lib/pytz/zoneinfo/Australia/North trunk/matplotlib/lib/pytz/zoneinfo/Australia/Perth trunk/matplotlib/lib/pytz/zoneinfo/Australia/Queensland trunk/matplotlib/lib/pytz/zoneinfo/Australia/South trunk/matplotlib/lib/pytz/zoneinfo/Australia/Sydney trunk/matplotlib/lib/pytz/zoneinfo/Australia/Tasmania trunk/matplotlib/lib/pytz/zoneinfo/Australia/Victoria trunk/matplotlib/lib/pytz/zoneinfo/Australia/West trunk/matplotlib/lib/pytz/zoneinfo/Australia/Yancowinna trunk/matplotlib/lib/pytz/zoneinfo/Brazil/ trunk/matplotlib/lib/pytz/zoneinfo/Brazil/Acre trunk/matplotlib/lib/pytz/zoneinfo/Brazil/DeNoronha trunk/matplotlib/lib/pytz/zoneinfo/Brazil/East trunk/matplotlib/lib/pytz/zoneinfo/Brazil/West trunk/matplotlib/lib/pytz/zoneinfo/CET trunk/matplotlib/lib/pytz/zoneinfo/CST6CDT trunk/matplotlib/lib/pytz/zoneinfo/Canada/ trunk/matplotlib/lib/pytz/zoneinfo/Canada/Atlantic trunk/matplotlib/lib/pytz/zoneinfo/Canada/Central trunk/matplotlib/lib/pytz/zoneinfo/Canada/East-Saskatchewan trunk/matplotlib/lib/pytz/zoneinfo/Canada/Eastern trunk/matplotlib/lib/pytz/zoneinfo/Canada/Mountain trunk/matplotlib/lib/pytz/zoneinfo/Canada/Newfoundland trunk/matplotlib/lib/pytz/zoneinfo/Canada/Pacific trunk/matplotlib/lib/pytz/zoneinfo/Canada/Saskatchewan trunk/matplotlib/lib/pytz/zoneinfo/Canada/Yukon trunk/matplotlib/lib/pytz/zoneinfo/Chile/ trunk/matplotlib/lib/pytz/zoneinfo/Chile/Continental trunk/matplotlib/lib/pytz/zoneinfo/Chile/EasterIsland trunk/matplotlib/lib/pytz/zoneinfo/Cuba trunk/matplotlib/lib/pytz/zoneinfo/EET trunk/matplotlib/lib/pytz/zoneinfo/EST trunk/matplotlib/lib/pytz/zoneinfo/EST5EDT trunk/matplotlib/lib/pytz/zoneinfo/Egypt trunk/matplotlib/lib/pytz/zoneinfo/Eire trunk/matplotlib/lib/pytz/zoneinfo/Etc/ trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+0 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+1 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+10 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+11 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+12 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+2 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+3 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+4 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+5 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+6 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+7 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+8 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT+9 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-0 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-1 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-10 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-11 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-12 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-13 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-14 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-2 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-3 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-4 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-5 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-6 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-7 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-8 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT-9 trunk/matplotlib/lib/pytz/zoneinfo/Etc/GMT0 trunk/matplotlib/lib/pytz/zoneinfo/Etc/Greenwich trunk/matplotlib/lib/pytz/zoneinfo/Etc/UCT trunk/matplotlib/lib/pytz/zoneinfo/Etc/UTC trunk/matplotlib/lib/pytz/zoneinfo/Etc/Universal trunk/matplotlib/lib/pytz/zoneinfo/Etc/Zulu trunk/matplotlib/lib/pytz/zoneinfo/Europe/ trunk/matplotlib/lib/pytz/zoneinfo/Europe/Amsterdam trunk/matplotlib/lib/pytz/zoneinfo/Europe/Andorra trunk/matplotlib/lib/pytz/zoneinfo/Europe/Athens trunk/matplotlib/lib/pytz/zoneinfo/Europe/Belfast trunk/matplotlib/lib/pytz/zoneinfo/Europe/Belgrade trunk/matplotlib/lib/pytz/zoneinfo/Europe/Berlin trunk/matplotlib/lib/pytz/zoneinfo/Europe/Bratislava trunk/matplotlib/lib/pytz/zoneinfo/Europe/Brussels trunk/matplotlib/lib/pytz/zoneinfo/Europe/Bucharest trunk/matplotlib/lib/pytz/zoneinfo/Europe/Budapest trunk/matplotlib/lib/pytz/zoneinfo/Europe/Chisinau trunk/matplotlib/lib/pytz/zoneinfo/Europe/Copenhagen trunk/matplotlib/lib/pytz/zoneinfo/Europe/Dublin trunk/matplotlib/lib/pytz/zoneinfo/Europe/Gibraltar trunk/matplotlib/lib/pytz/zoneinfo/Europe/Guernsey trunk/matplotlib/lib/pytz/zoneinfo/Europe/Helsinki trunk/matplotlib/lib/pytz/zoneinfo/Europe/Isle_of_Man trunk/matplotlib/lib/pytz/zoneinfo/Europe/Istanbul trunk/matplotlib/lib/pytz/zoneinfo/Europe/Jersey trunk/matplotlib/lib/pytz/zoneinfo/Europe/Kaliningrad trunk/matplotlib/lib/pytz/zoneinfo/Europe/Kiev trunk/matplotlib/lib/pytz/zoneinfo/Europe/Lisbon trunk/matplotlib/lib/pytz/zoneinfo/Europe/Ljubljana trunk/matplotlib/lib/pytz/zoneinfo/Europe/London trunk/matplotlib/lib/pytz/zoneinfo/Europe/Luxembourg trunk/matplotlib/lib/pytz/zoneinfo/Europe/Madrid trunk/matplotlib/lib/pytz/zoneinfo/Europe/Malta trunk/matplotlib/lib/pytz/zoneinfo/Europe/Mariehamn trunk/matplotlib/lib/pytz/zoneinfo/Europe/Minsk trunk/matplotlib/lib/pytz/zoneinfo/Europe/Monaco trunk/matplotlib/lib/pytz/zoneinfo/Europe/Moscow trunk/matplotlib/lib/pytz/zoneinfo/Europe/Nicosia trunk/matplotlib/lib/pytz/zoneinfo/Europe/Oslo trunk/matplotlib/lib/pytz/zoneinfo/Europe/Paris trunk/matplotlib/lib/pytz/zoneinfo/Europe/Podgorica trunk/matplotlib/lib/pytz/zoneinfo/Europe/Prague trunk/matplotlib/lib/pytz/zoneinfo/Europe/Riga trunk/matplotlib/lib/pytz/zoneinfo/Europe/Rome trunk/matplotlib/lib/pytz/zoneinfo/Europe/Samara trunk/matplotlib/lib/pytz/zoneinfo/Europe/San_Marino trunk/matplotlib/lib/pytz/zoneinfo/Europe/Sarajevo trunk/matplotlib/lib/pytz/zoneinfo/Europe/Simferopol trunk/matplotlib/lib/pytz/zoneinfo/Europe/Skopje trunk/matplotlib/lib/pytz/zoneinfo/Europe/Sofia trunk/matplotlib/lib/pytz/zoneinfo/Europe/Stockholm trunk/matplotlib/lib/pytz/zoneinfo/Europe/Tallinn trunk/matplotlib/lib/pytz/zoneinfo/Europe/Tirane trunk/matplotlib/lib/pytz/zoneinfo/Europe/Tiraspol trunk/matplotlib/lib/pytz/zoneinfo/Europe/Uzhgorod trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vaduz trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vatican trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vienna trunk/matplotlib/lib/pytz/zoneinfo/Europe/Vilnius trunk/matplotlib/lib/pytz/zoneinfo/Europe/Volgograd trunk/matplotlib/lib/pytz/zoneinfo/Europe/Warsaw trunk/matplotlib/lib/pytz/zoneinfo/Europe/Zagreb trunk/matplotlib/lib/pytz/zoneinfo/Europe/Zaporozhye trunk/matplotlib/lib/pytz/zoneinfo/Europe/Zurich trunk/matplotlib/lib/pytz/zoneinfo/Factory trunk/matplotlib/lib/pytz/zoneinfo/GB trunk/matplotlib/lib/pytz/zoneinfo/GB-Eire trunk/matplotlib/lib/pytz/zoneinfo/GMT trunk/matplotlib/lib/pytz/zoneinfo/GMT+0 trunk/matplotlib/lib/pytz/zoneinfo/GMT-0 trunk/matplotlib/lib/pytz/zoneinfo/GMT0 trunk/matplotlib/lib/pytz/zoneinfo/Greenwich trunk/matplotlib/lib/pytz/zoneinfo/HST trunk/matplotlib/lib/pytz/zoneinfo/Hongkong trunk/matplotlib/lib/pytz/zoneinfo/Iceland trunk/matplotlib/lib/pytz/zoneinfo/Indian/ trunk/matplotlib/lib/pytz/zoneinfo/Indian/Antananarivo trunk/matplotlib/lib/pytz/zoneinfo/Indian/Chagos trunk/matplotlib/lib/pytz/zoneinfo/Indian/Christmas trunk/matplotlib/lib/pytz/zoneinfo/Indian/Cocos trunk/matplotlib/lib/pytz/zoneinfo/Indian/Comoro trunk/matplotlib/lib/pytz/zoneinfo/Indian/Kerguelen trunk/matplotlib/lib/pytz/zoneinfo/Indian/Mahe trunk/matplotlib/lib/pytz/zoneinfo/Indian/Maldives trunk/matplotlib/lib/pytz/zoneinfo/Indian/Mauritius trunk/matplotlib/lib/pytz/zoneinfo/Indian/Mayotte trunk/matplotlib/lib/pytz/zoneinfo/Indian/Reunion trunk/matplotlib/lib/pytz/zoneinfo/Iran trunk/matplotlib/lib/pytz/zoneinfo/Israel trunk/matplotlib/lib/pytz/zoneinfo/Jamaica trunk/matplotlib/lib/pytz/zoneinfo/Japan trunk/matplotlib/lib/pytz/zoneinfo/Kwajalein trunk/matplotlib/lib/pytz/zoneinfo/Libya trunk/matplotlib/lib/pytz/zoneinfo/MET trunk/matplotlib/lib/pytz/zoneinfo/MST trunk/matplotlib/lib/pytz/zoneinfo/MST7MDT trunk/matplotlib/lib/pytz/zoneinfo/Mexico/ trunk/matplotlib/lib/pytz/zoneinfo/Mexico/BajaNorte trunk/matplotlib/lib/pytz/zoneinfo/Mexico/BajaSur trunk/matplotlib/lib/pytz/zoneinfo/Mexico/General trunk/matplotlib/lib/pytz/zoneinfo/Mideast/ trunk/matplotlib/lib/pytz/zoneinfo/Mideast/Riyadh87 trunk/matplotlib/lib/pytz/zoneinfo/Mideast/Riyadh88 trunk/matplotlib/lib/pytz/zoneinfo/Mideast/Riyadh89 trunk/matplotlib/lib/pytz/zoneinfo/NZ trunk/matplotlib/lib/pytz/zoneinfo/NZ-CHAT trunk/matplotlib/lib/pytz/zoneinfo/Navajo trunk/matplotlib/lib/pytz/zoneinfo/PRC trunk/matplotlib/lib/pytz/zoneinfo/PST8PDT trunk/matplotlib/lib/pytz/zoneinfo/Pacific/ trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Apia trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Auckland trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Chatham trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Easter trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Efate trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Enderbury trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Fakaofo trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Fiji trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Funafuti trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Galapagos trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Gambier trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Guadalcanal trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Guam trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Honolulu trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Johnston trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Kiritimati trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Kosrae trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Kwajalein trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Majuro trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Marquesas trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Midway trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Nauru trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Niue trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Norfolk trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Noumea trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Pago_Pago trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Palau trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Pitcairn trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Ponape trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Port_Moresby trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Rarotonga trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Saipan trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Samoa trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Tahiti trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Tarawa trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Tongatapu trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Truk trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Wake trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Wallis trunk/matplotlib/lib/pytz/zoneinfo/Pacific/Yap trunk/matplotlib/lib/pytz/zoneinfo/Poland trunk/matplotlib/lib/pytz/zoneinfo/Portugal trunk/matplotlib/lib/pytz/zoneinfo/ROC trunk/matplotlib/lib/pytz/zoneinfo/ROK trunk/matplotlib/lib/pytz/zoneinfo/Singapore trunk/matplotlib/lib/pytz/zoneinfo/Turkey trunk/matplotlib/lib/pytz/zoneinfo/UCT trunk/matplotlib/lib/pytz/zoneinfo/US/ trunk/matplotlib/lib/pytz/zoneinfo/US/Alaska trunk/matplotlib/lib/pytz/zoneinfo/US/Aleutian trunk/matplotlib/lib/pytz/zoneinfo/US/Arizona trunk/matplotlib/lib/pytz/zoneinfo/US/Central trunk/matplotlib/lib/pytz/zoneinfo/US/East-Indiana trunk/matplotlib/lib/pytz/zoneinfo/US/Eastern trunk/matplotlib/lib/pytz/zoneinfo/US/Hawaii trunk/matplotlib/lib/pytz/zoneinfo/US/Indiana-Starke trunk/matplotlib/lib/pytz/zoneinfo/US/Michigan trunk/matplotlib/lib/pytz/zoneinfo/US/Mountain trunk/matplotlib/lib/pytz/zoneinfo/US/Pacific trunk/matplotlib/lib/pytz/zoneinfo/US/Pacific-New trunk/matplotlib/lib/pytz/zoneinfo/US/Samoa trunk/matplotlib/lib/pytz/zoneinfo/UTC trunk/matplotlib/lib/pytz/zoneinfo/Universal trunk/matplotlib/lib/pytz/zoneinfo/W-SU trunk/matplotlib/lib/pytz/zoneinfo/WET trunk/matplotlib/lib/pytz/zoneinfo/Zulu trunk/matplotlib/lib/pytz/zoneinfo/iso3166.tab trunk/matplotlib/lib/pytz/zoneinfo/localtime trunk/matplotlib/lib/pytz/zoneinfo/posixrules trunk/matplotlib/lib/pytz/zoneinfo/zone.tab Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2007-11-09 01:37:02 UTC (rev 4172) +++ trunk/matplotlib/CHANGELOG 2007-11-09 01:40:54 UTC (rev 4173) @@ -1,5 +1,7 @@ -2007-11-08 Update pyparsing to version 1.4.8 - DSD +2007-11-08 Updated pytz to version 2007g - DSD +2007-11-08 Updated pyparsing to version 1.4.8 - DSD + 2007-11-08 Moved csv2rec to recutils and added other record array utilities - JDH Added: trunk/matplotlib/lib/pytz/CHANGES.txt =================================================================== --- trunk/matplotlib/lib/pytz/CHANGES.txt (rev 0) +++ trunk/matplotlib/lib/pytz/CHANGES.txt 2007-11-09 01:40:54 UTC (rev 4173) @@ -0,0 +1,46 @@ +2004-07-25 + + - Improved localtime handling, and added a localize() method enabling + correct creation of local times. + +2005-02-16 + + - Made available under the Zope Public Licence 2.1 (ZPL) and checked + into the Zope3 project. pytz may now be used and redistributed + under either the original MIT license or the ZPL 2.1. + +2005-05-13 + + - Move UTC into the top level pytz module and provide special + case pickle support for this singleton. + +2005-08-14 + + - Ensure all tzinfo instances are efficiently picklable. + +2005-12-31 + + - Add fixed offset timezone classes required by Zope 3 + - Generate and distribute a PO template file listing all timezone + names. Translations are not yet available. + +2007-03-03 + + - Import work by James Henstridge, making pytz load timezone + information from zic compiled binaries at runtime rather than + processing them into Python classes. + +2007-03-26 + + - Update database to version 2007d + - Fix windows incompatibilities, working around limitations on that + platform. + - Fix 2.3 incompatibilities. Installation now requires distutils. + - Passing an invalid timezone name to timezone() now raises an + UnknownTimezoneError, which is a KeyError subclass for backwards + compatibility. + +2007-03-27 + + - Ensure API can accept Unicode strings (Bug #96957) + Added: trunk/matplotlib/lib/pytz/LICENSE.txt =================================================================== --- trunk/matplotlib/lib/pytz/LICENSE.txt (rev 0) +++ trunk/matplotlib/lib/pytz/LICENSE.txt 2007-11-09 01:40:54 UTC (rev 4173) @@ -0,0 +1,19 @@ +Copyright (c) 2003-2007 Stuart Bishop <st...@st...> + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. Added: trunk/matplotlib/lib/pytz/README.txt =================================================================== --- trunk/matplotlib/lib/pytz/README.txt (rev 0) +++ trunk/matplotlib/lib/pytz/README.txt 2007-11-09 01:40:54 UTC (rev 4173) @@ -0,0 +1,326 @@ +pytz - World Timezone Definitions for Python +============================================ + +:Author: Stuart Bishop <st...@st...> + +Introduction +~~~~~~~~~~~~ + +pytz brings the Olson tz database into Python. This library allows +accurate and cross platform timezone calculations using Python 2.3 +or higher. It also solves the issue of ambiguous times at the end +of daylight savings, which you can read more about in the Python +Library Reference (datetime.tzinfo). + +Amost all (over 540) of the Olson timezones are supported [*]_. + +Note that if you perform date arithmetic on local times that cross +DST boundaries, the results may be in an incorrect timezone (ie. +subtract 1 minute from 2002-10-27 1:00 EST and you get 2002-10-27 +0:59 EST instead of the correct 2002-10-27 1:59 EDT). This cannot +be resolved without modifying the Python datetime implementation. +However, these tzinfo classes provide a normalize() method which +allows you to correct these values. + + +Installation +~~~~~~~~~~~~ + +This is a standard Python distutils distribution. To install the +package, run the following command as an administrative user:: + + python setup.py install + + +Example & Usage +~~~~~~~~~~~~~~~ + +>>> from datetime import datetime, timedelta +>>> from pytz import timezone +>>> import pytz +>>> utc = pytz.utc +>>> utc.zone +'UTC' +>>> eastern = timezone('US/Eastern') +>>> eastern.zone +'US/Eastern' +>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z' + +The preferred way of dealing with times is to always work in UTC, +converting to localtime only when generating output to be read +by humans. + +>>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) +>>> loc_dt = utc_dt.astimezone(eastern) +>>> loc_dt.strftime(fmt) +'2002-10-27 01:00:00 EST-0500' + +This library also allows you to do date arithmetic using local +times, although it is more complicated than working in UTC as you +need to use the `normalize` method to handle daylight savings time +and other timezone transitions. In this example, `loc_dt` is set +to the instant when daylight savings time ends in the US/Eastern +timezone. + +>>> before = loc_dt - timedelta(minutes=10) +>>> before.strftime(fmt) +'2002-10-27 00:50:00 EST-0500' +>>> eastern.normalize(before).strftime(fmt) +'2002-10-27 01:50:00 EDT-0400' +>>> after = eastern.normalize(before + timedelta(minutes=20)) +>>> after.strftime(fmt) +'2002-10-27 01:10:00 EST-0500' + +Creating localtimes is also tricky, and the reason why working with +local times is not recommended. Unfortunately, you cannot just pass +a 'tzinfo' argument when constructing a datetime (see the next section +for more details) + +>>> dt = datetime(2002, 10, 27, 1, 30, 0) +>>> dt1 = eastern.localize(dt, is_dst=True) +>>> dt1.strftime(fmt) +'2002-10-27 01:30:00 EDT-0400' +>>> dt2 = eastern.localize(dt, is_dst=False) +>>> dt2.strftime(fmt) +'2002-10-27 01:30:00 EST-0500' + +Converting between timezones also needs special attention. This also needs +to use the normalize method to ensure the conversion is correct. + +>>> utc_dt = utc.localize(datetime.utcfromtimestamp(1143408899)) +>>> utc_dt.strftime(fmt) +'2006-03-26 21:34:59 UTC+0000' +>>> au_tz = timezone('Australia/Sydney') +>>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz)) +>>> au_dt.strftime(fmt) +'2006-03-27 08:34:59 EST+1100' +>>> utc_dt2 = utc.normalize(au_dt.astimezone(utc)) +>>> utc_dt2.strftime(fmt) +'2006-03-26 21:34:59 UTC+0000' + +You can also take shortcuts when dealing with the UTC side of timezone +conversions. Normalize and localize are not really necessary because there +are no daylight savings time transitions to deal with. + +>>> utc_dt = datetime.utcfromtimestamp(1143408899).replace(tzinfo=utc) +>>> utc_dt.strftime(fmt) +'2006-03-26 21:34:59 UTC+0000' +>>> au_tz = timezone('Australia/Sydney') +>>> au_dt = au_tz.normalize(utc_dt.astimezone(au_tz)) +>>> au_dt.strftime(fmt) +'2006-03-27 08:34:59 EST+1100' +>>> utc_dt2 = au_dt.astimezone(utc) +>>> utc_dt2.strftime(fmt) +'2006-03-26 21:34:59 UTC+0000' + + +Problems with Localtime +~~~~~~~~~~~~~~~~~~~~~~~ + +The major problem we have to deal with is that certain datetimes +may occur twice in a year. For example, in the US/Eastern timezone +on the last Sunday morning in October, the following sequence +happens: + + - 01:00 EDT occurs + - 1 hour later, instead of 2:00am the clock is turned back 1 hour + and 01:00 happens again (this time 01:00 EST) + +In fact, every instant between 01:00 and 02:00 occurs twice. This means +that if you try and create a time in the US/Eastern timezone using +the standard datetime syntax, there is no way to specify if you meant +before of after the end-of-daylight-savings-time transition. + +>>> loc_dt = datetime(2002, 10, 27, 1, 30, 00, tzinfo=eastern) +>>> loc_dt.strftime(fmt) +'2002-10-27 01:30:00 EST-0500' + +As you can see, the system has chosen one for you and there is a 50% +chance of it being out by one hour. For some applications, this does +not matter. However, if you are trying to schedule meetings with people +in different timezones or analyze log files it is not acceptable. + +The best and simplest solution is to stick with using UTC. The pytz package +encourages using UTC for internal timezone representation by including a +special UTC implementation based on the standard Python reference +implementation in the Python documentation. This timezone unpickles to be +the same instance, and pickles to a relatively small size. The UTC +implementation can be obtained as pytz.utc, pytz.UTC, or +pytz.timezone('UTC'). Note that this instance is not the same +instance (or implementation) as other timezones with the same meaning +(GMT, Greenwich, Universal, etc.). + +>>> import pickle, pytz +>>> dt = datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc) +>>> naive = dt.replace(tzinfo=None) +>>> p = pickle.dumps(dt, 1) +>>> naive_p = pickle.dumps(naive, 1) +>>> len(p), len(naive_p), len(p) - len(naive_p) +(60, 43, 17) +>>> new = pickle.loads(p) +>>> new == dt +True +>>> new is dt +False +>>> new.tzinfo is dt.tzinfo +True +>>> pytz.utc is pytz.UTC is pytz.timezone('UTC') +True +>>> utc is pytz.timezone('GMT') +False + +If you insist on working with local times, this library provides a +facility for constructing them almost unambiguously. + +>>> loc_dt = datetime(2002, 10, 27, 1, 30, 00) +>>> est_dt = eastern.localize(loc_dt, is_dst=True) +>>> edt_dt = eastern.localize(loc_dt, is_dst=False) +>>> print est_dt.strftime(fmt), '/', edt_dt.strftime(fmt) +2002-10-27 01:30:00 EDT-0400 / 2002-10-27 01:30:00 EST-0500 + +Note that although this handles many cases, it is still not possible +to handle all. In cases where countries change their timezone definitions, +cases like the end-of-daylight-savings-time occur with no way of resolving +the ambiguity. For example, in 1915 Warsaw switched from Warsaw time to +Central European time. So at the stroke of midnight on August 4th 1915 +the clocks were wound back 24 minutes creating a ambiguous time period +that cannot be specified without referring to the timezone abbreviation +or the actual UTC offset. + +The 'Standard' Python way of handling all these ambiguities is not to, +such as demonstrated in this example using the US/Eastern timezone +definition from the Python documentation (Note that this implementation +only works for dates between 1987 and 2006 - it is included for tests only!): + +>>> from pytz.reference import Eastern # pytz.reference only for tests +>>> dt = datetime(2002, 10, 27, 0, 30, tzinfo=Eastern) +>>> str(dt) +'2002-10-27 00:30:00-04:00' +>>> str(dt + timedelta(hours=1)) +'2002-10-27 01:30:00-05:00' +>>> str(dt + timedelta(hours=2)) +'2002-10-27 02:30:00-05:00' +>>> str(dt + timedelta(hours=3)) +'2002-10-27 03:30:00-05:00' + +Notice the first two results? At first glance you might think they are +correct, but taking the UTC offset into account you find that they are +actually two hours appart instead of the 1 hour we asked for. + +>>> from pytz.reference import UTC # pytz.reference only for tests +>>> str(dt.astimezone(UTC)) +'2002-10-27 04:30:00+00:00' +>>> str((dt + timedelta(hours=1)).astimezone(UTC)) +'2002-10-27 06:30:00+00:00' + + +What is UTC +~~~~~~~~~~~ + +`UTC` is Universal Time, formerly known as Greenwich Mean Time or GMT. +All other timezones are given as offsets from UTC. No daylight savings +time occurs in UTC, making it a useful timezone to perform date arithmetic +without worrying about the confusion and ambiguities caused by daylight +savings time transitions, your country changing its timezone, or mobile +computers that move roam through multiple timezones. + + +Helpers +~~~~~~~ + +There are two lists of timezones provided. + +`all_timezones` is the exhaustive list of the timezone names that can be used. + +>>> from pytz import all_timezones +>>> len(all_timezones) >= 500 +True +>>> 'Etc/Greenwich' in all_timezones +True + +`common_timezones` is a list of useful, current timezones. It doesn't +contain deprecated zones or historical zones. It is also a sequence of +strings. + +>>> from pytz import common_timezones +>>> len(common_timezones) < len(all_timezones) +True +>>> 'Etc/Greenwich' in common_timezones +False + +You can also retrieve lists of timezones used by particular countries +using the `country_timezones()` method. It requires an ISO-3166 two letter +country code. + +>>> from pytz import country_timezones +>>> country_timezones('ch') +['Europe/Zurich'] +>>> country_timezones('CH') +['Europe/Zurich'] + +License +~~~~~~~ + +MIT license. + +This code is also available as part of Zope 3 under the Zope Public +License, Version 2.1 (ZPL). + +I'm happy to relicense this code if necessary for inclusion in other +open source projects. + +Latest Versions +~~~~~~~~~~~~~~~ + +This package will be updated after releases of the Olson timezone database. +The latest version can be downloaded from the Python Cheeseshop_ or +Sourceforge_. The code that is used to generate this distribution is +available using the Bazaar_ revision control system using:: + + bzr branch http://bazaar.launchpad.net/~stub/pytz/devel + +.. _Cheeseshop: http://cheeseshop.python.org/pypi/pytz/ +.. _Sourceforge: http://sourceforge.net/projects/pytz/ +.. _Bazaar: http://bazaar-vcs.org/ + +Bugs, Feature Requests & Patches +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Bugs can be reported using Launchpad at +https://bugs.launchpad.net/products/pytz + +Issues & Limitations +~~~~~~~~~~~~~~~~~~~~ + +- Offsets from UTC are rounded to the nearest whole minute, so timezones + such as Europe/Amsterdam pre 1937 will be up to 30 seconds out. This is + a limitation of the Python datetime library. + +- If you think a timezone definition is incorrect, I probably can't fix + it. pytz is a direct translation of the Olson timezone database, and + changes to the timezone definitions need to be made to this source. + If you find errors they should be reported to the time zone mailing + list, linked from http://www.twinsun.com/tz/tz-link.htm + +Further Reading +~~~~~~~~~~~~~~~ + +More info than you want to know about timezones: +http://www.twinsun.com/tz/tz-link.htm + + +Contact +~~~~~~~ + +Stuart Bishop <st...@st...> + +.. [*] The missing few are for Riyadh Solar Time in 1987, 1988 and 1989. + As Saudi Arabia gave up trying to cope with their timezone + definition, I see no reason to complicate my code further + to cope with them. (I understand the intention was to set + sunset to 0:00 local time, the start of the Islamic day. + In the best case caused the DST offset to change daily and + worst case caused the DST offset to change each instant + depending on how you interpreted the ruling.) + + Property changes on: trunk/matplotlib/lib/pytz/README.txt ___________________________________________________________________ Name: svn:eol-style + CRLF Added: trunk/matplotlib/lib/pytz/__init__.py =================================================================== --- trunk/matplotlib/lib/pytz/__init__.py (rev 0) +++ trunk/matplotlib/lib/pytz/__init__.py 2007-11-09 01:40:54 UTC (rev 4173) @@ -0,0 +1,1396 @@ +''' +datetime.tzinfo timezone definitions generated from the +Olson timezone database: + + ftp://elsie.nci.nih.gov/pub/tz*.tar.gz + +See the datetime section of the Python Library Reference for information +on how to use these modules. +''' + +# The Olson database has historically been updated about 4 times a year +OLSON_VERSION = '2007g' +VERSION = OLSON_VERSION +#VERSION = OLSON_VERSION + '.2' +__version__ = OLSON_VERSION + +OLSEN_VERSION = OLSON_VERSION # Old releases had this misspelling + +__all__ = [ + 'timezone', 'utc', 'country_timezones', + 'AmbiguousTimeError', 'UnknownTimeZoneError', + 'all_timezones', 'all_timezones_set', + 'common_timezones', 'common_timezones_set', + ] + +import sys, datetime, os.path, gettext + +try: + from pkg_resources import resource_stream +except ImportError: + resource_stream = None + +from tzinfo import AmbiguousTimeError, unpickler +from tzfile import build_tzinfo + +# Use 2.3 sets module implementation if set builtin is not available +try: + set +except NameError: + from sets import Set as set + + +def open_resource(name): + """Open a resource from the zoneinfo subdir for reading. + + Uses the pkg_resources module if available. + """ + if resource_stream is not None: + return resource_stream(__name__, 'zoneinfo/' + name) + else: + name_parts = name.lstrip('/').split('/') + for part in name_parts: + if part == os.path.pardir or os.path.sep in part: + raise ValueError('Bad path segment: %r' % part) + filename = os.path.join(os.path.dirname(__file__), + 'zoneinfo', *name_parts) + return open(filename, 'rb') + + +# Enable this when we get some translations? +# We want an i18n API that is useful to programs using Python's gettext +# module, as well as the Zope3 i18n package. Perhaps we should just provide +# the POT file and translations, and leave it up to callers to make use +# of them. +# +# t = gettext.translation( +# 'pytz', os.path.join(os.path.dirname(__file__), 'locales'), +# fallback=True +# ) +# def _(timezone_name): +# """Translate a timezone name using the current locale, returning Unicode""" +# return t.ugettext(timezone_name) + + +class UnknownTimeZoneError(KeyError): + '''Exception raised when pytz is passed an unknown timezone. + + >>> isinstance(UnknownTimeZoneError(), LookupError) + True + + This class is actually a subclass of KeyError to provide backwards + compatibility with code relying on the undocumented behavior of earlier + pytz releases. + + >>> isinstance(UnknownTimeZoneError(), KeyError) + True + ''' + pass + + +_tzinfo_cache = {} + +def timezone(zone): + r''' Return a datetime.tzinfo implementation for the given timezone + + >>> from datetime import datetime, timedelta + >>> utc = timezone('UTC') + >>> eastern = timezone('US/Eastern') + >>> eastern.zone + 'US/Eastern' + >>> timezone(u'US/Eastern') is eastern + True + >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc) + >>> loc_dt = utc_dt.astimezone(eastern) + >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)' + >>> loc_dt.strftime(fmt) + '2002-10-27 01:00:00 EST (-0500)' + >>> (loc_dt - timedelta(minutes=10)).strftime(fmt) + '2002-10-27 00:50:00 EST (-0500)' + >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt) + '2002-10-27 01:50:00 EDT (-0400)' + >>> (loc_dt + timedelta(minutes=10)).strftime(fmt) + '2002-10-27 01:10:00 EST (-0500)' + + Raises UnknownTimeZoneError if passed an unknown zone. + + >>> timezone('Asia/Shangri-La') + Traceback (most recent call last): + ... + UnknownTimeZoneError: 'Asia/Shangri-La' + + >>> timezone(u'\N{TRADE MARK SIGN}') + Traceback (most recent call last): + ... + UnknownTimeZoneError: u'\u2122' + ''' + if zone.upper() == 'UTC': + return utc + + try: + zone = zone.encode('US-ASCII') + except UnicodeEncodeError: + # All valid timezones are ASCII + raise UnknownTimeZoneError(zone) + + zone = _unmunge_zone(zone) + if zone not in _tzinfo_cache: + if zone in all_timezones_set: + _tzinfo_cache[zone] = build_tzinfo(zone, open_resource(zone)) + else: + raise UnknownTimeZoneError(zone) + + return _tzinfo_cache[zone] + + +def _unmunge_zone(zone): + """Undo the time zone name munging done by older versions of pytz.""" + return zone.replace('_plus_', '+').replace('_minus_', '-') + + +ZERO = datetime.timedelta(0) +HOUR = datetime.timedelta(hours=1) + + +class UTC(datetime.tzinfo): + """UTC + + Identical to the reference UTC implementation given in Python docs except + that it unpickles using the single module global instance defined beneath + this class declaration. + + Also contains extra attributes and methods to match other pytz tzinfo + instances. + """ + zone = "UTC" + + def utcoffset(self, dt): + return ZERO + + def tzname(self, dt): + return "UTC" + + def dst(self, dt): + return ZERO + + def __reduce__(self): + return _UTC, () + + def localize(self, dt, is_dst=False): + '''Convert naive time to local time''' + if dt.tzinfo is not None: + raise ValueError, 'Not naive datetime (tzinfo is already set)' + return dt.replace(tzinfo=self) + + def normalize(self, dt, is_dst=False): + '''Correct the timezone information on the given datetime''' + if dt.tzinfo is None: + raise ValueError, 'Naive time - no tzinfo set' + return dt.replace(tzinfo=self) + + def __repr__(self): + return "<UTC>" + + def __str__(self): + return "UTC" + + +UTC = utc = UTC() # UTC is a singleton + + +def _UTC(): + """Factory function for utc unpickling. + + Makes sure that unpickling a utc instance always returns the same + module global. + + These examples belong in the UTC class above, but it is obscured; or in + the README.txt, but we are not depending on Python 2.4 so integrating + the README.txt examples with the unit tests is not trivial. + + >>> import datetime, pickle + >>> dt = datetime.datetime(2005, 3, 1, 14, 13, 21, tzinfo=utc) + >>> naive = dt.replace(tzinfo=None) + >>> p = pickle.dumps(dt, 1) + >>> naive_p = pickle.dumps(naive, 1) + >>> len(p), len(naive_p), len(p) - len(naive_p) + (60, 43, 17) + >>> new = pickle.loads(p) + >>> new == dt + True + >>> new is dt + False + >>> new.tzinfo is dt.tzinfo + True + >>> utc is UTC is timezone('UTC') + True + >>> utc is timezone('GMT') + False + """ + return utc +_UTC.__safe_for_unpickling__ = True + + +def _p(*args): + """Factory function for unpickling pytz tzinfo instances. + + Just a wrapper around tzinfo.unpickler to save a few bytes in each pickle + by shortening the path. + """ + return unpickler(*args) +_p.__safe_for_unpickling__ = True + +_country_timezones_cache = {} + +def country_timezones(iso3166_code): + """Return a list of timezones used in a particular country. + + iso3166_code is the two letter code used to identify the country. + + >>> country_timezones('ch') + ['Europe/Zurich'] + >>> country_timezones('CH') + ['Europe/Zurich'] + >>> country_timezones(u'ch') + ['Europe/Zurich'] + >>> country_timezones('XXX') + Traceback (most recent call last): + ... + KeyError: 'XXX' + """ + iso3166_code = iso3166_code.upper() + if not _country_timezones_cache: + zone_tab = open_resource('zone.tab') + for line in zone_tab: + if line.startswith('#'): + continue + code, coordinates, zone = line.split(None, 4)[:3] + try: + _country_timezones_cache[code].append(zone) + except KeyError: + _country_timezones_cache[code] = [zone] + return _country_timezones_cache[iso3166_code] + + +# Time-zone info based solely on fixed offsets + +class _FixedOffset(datetime.tzinfo): + + zone = None # to match the standard pytz API + + def __init__(self, minutes): + if abs(minutes) >= 1440: + raise ValueError("absolute offset is too large", minutes) + self._minutes = minutes + self._offset = datetime.timedelta(minutes=minutes) + + def utcoffset(self, dt): + return self._offset + + def __reduce__(self): + return FixedOffset, (self._minutes, ) + + def dst(self, dt): + return None + + def tzname(self, dt): + return None + + def __repr__(self): + return 'pytz.FixedOffset(%d)' % self._minutes + + def localize(self, dt, is_dst=False): + '''Convert naive time to local time''' + if dt.tzinfo is not None: + raise ValueError, 'Not naive datetime (tzinfo is already set)' + return dt.replace(tzinfo=self) + + def normalize(self, dt, is_dst=False): + '''Correct the timezone information on the given datetime''' + if dt.tzinfo is None: + raise ValueError, 'Naive time - no tzinfo set' + return dt.replace(tzinfo=self) + + +def FixedOffset(offset, _tzinfos = {}): + """return a fixed-offset timezone based off a number of minutes. + + >>> one = FixedOffset(-330) + >>> one + pytz.FixedOffset(-330) + >>> one.utcoffset(datetime.datetime.now()) + datetime.timedelta(-1, 66600) + + >>> two = FixedOffset(1380) + >>> two + pytz.FixedOffset(1380) + >>> two.utcoffset(datetime.datetime.now()) + datetime.timedelta(0, 82800) + + The datetime.timedelta must be between the range of -1 and 1 day, + non-inclusive. + + >>> FixedOffset(1440) + Traceback (most recent call last): + ... + ValueError: ('absolute offset is too large', 1440) + + >>> FixedOffset(-1440) + Traceback (most recent call last): + ... + ValueError: ('absolute offset is too large', -1440) + + An offset of 0 is special-cased to return UTC. + + >>> FixedOffset(0) is UTC + True + + There should always be only one instance of a FixedOffset per timedelta. + This should be true for multiple creation calls. + + >>> FixedOffset(-330) is one + True + >>> FixedOffset(1380) is two + True + + It should also be true for pickling. + + >>> import pickle + >>> pickle.loads(pickle.dumps(one)) is one + True + >>> pickle.loads(pickle.dumps(two)) is two + True + """ + if offset == 0: + return UTC + + info = _tzinfos.get(offset) + if info is None: + # We haven't seen this one before. we need to save it. + + # Use setdefault to avoid a race condition and make sure we have + # only one + info = _tzinfos.setdefault(offset, _FixedOffset(offset)) + + return info + +FixedOffset.__safe_for_unpickling__ = True + + +def _test(): + import doctest, os, sys + sys.path.insert(0, os.pardir) + import pytz + return doctest.testmod(pytz) + +if __name__ == '__main__': + _test() + +common_timezones = \ +['Africa/Abidjan', + 'Africa/Accra', + 'Africa/Addis_Ababa', + 'Africa/Algiers', + 'Africa/Asmara', + 'Africa/Asmera', + 'Africa/Bamako', + 'Africa/Bangui', + 'Africa/Banjul', + 'Africa/Bissau', + 'Africa/Blantyre', + 'Africa/Brazzaville', + 'Africa/Bujumbura', + 'Africa/Cairo', + 'Africa/Casablanca', + 'Africa/Ceuta', + 'Africa/Conakry', + 'Africa/Dakar', + 'Africa/Dar_es_Salaam', + 'Africa/Djibouti', + 'Africa/Douala', + 'Africa/El_Aaiun', + 'Africa/Freetown', + 'Africa/Gaborone', + 'Africa/Harare', + 'Africa/Johannesburg', + 'Africa/Kampala', + 'Africa/Khartoum', + 'Africa/Kigali', + 'Africa/Kinshasa', + 'Africa/Lagos', + 'Africa/Libreville', + 'Africa/Lome', + 'Africa/Luanda', + 'Africa/Lubumbashi', + 'Africa/Lusaka', + 'Africa/Malabo', + 'Africa/Maputo', + 'Africa/Maseru', + 'Africa/Mbabane', + 'Africa/Mogadishu', + 'Africa/Monrovia', + 'Africa/Nairobi', + 'Africa/Ndjamena', + 'Africa/Niamey', + 'Africa/Nouakchott', + 'Africa/Ouagadougou', + 'Africa/Porto-Novo', + 'Africa/Sao_Tome', + 'Africa/Timbuktu', + 'Africa/Tripoli', + 'Africa/Tunis', + 'Africa/Windhoek', + 'America/Adak', + 'America/Anchorage', + 'America/Anguilla', + 'America/Antigua', + 'America/Araguaina', + 'America/Aruba', + 'America/Asuncion', + 'America/Atikokan', + 'America/Atka', + 'America/Bahia', + 'America/Barbados', + 'America/Belem', + 'America/B... [truncated message content] |