From faeb0b6be0984c9c7cb31ba58e94dbebc7c26ed9 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 13 May 2014 12:06:15 +0530 Subject: [PATCH 1/5] Remove unused dependency bjsonrpc --- INSTALL | 6 ++---- Makefile | 2 +- fabfile.py | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/INSTALL b/INSTALL index f848445b4..b147f8dc8 100644 --- a/INSTALL +++ b/INSTALL @@ -2,9 +2,9 @@ ## Installing Plinth -Install the pandoc, python-augeas, and bjsonrpc: +Install the dependencies: -apt-get install augeas-tools libpython2.7 pandoc psmisc python2.7 python-augeas python-bcrypt python-bjsonrpc python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo +apt-get install augeas-tools libpython2.7 pandoc psmisc python2.7 python-augeas python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo Unzip and untar the source into a directory. Change to the directory containing the program. Run: @@ -26,8 +26,6 @@ and the default password is "secret". * *GNU Make* is used to build the templates and such. -* bjsonrpc - used for configuration management layer - * python-augeas and augeas - used for configuration management The documentation has some dependencies too. diff --git a/Makefile b/Makefile index 428c03780..d1f1407c7 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ default: config dirs docs all: default predepend: - sudo sh -c "apt-get install augeas-tools libpython2.7 pandoc psmisc python2.7 python-augeas python-bcrypt python-bjsonrpc python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo" + sudo sh -c "apt-get install augeas-tools libpython2.7 pandoc psmisc python2.7 python-augeas python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo" git submodule init git submodule update touch predepend diff --git a/fabfile.py b/fabfile.py index 8844179be..1f0887e38 100644 --- a/fabfile.py +++ b/fabfile.py @@ -150,7 +150,7 @@ def apache(): @task def deps(): "Basic plinth dependencies" - sudo('apt-get install --no-install-recommends -y python make pandoc python-simplejson python-pyme python-augeas python-bjsonrpc python-django python-bootstrapform libjs-twitter-bootstrap') + sudo('apt-get install --no-install-recommends -y python make pandoc python-simplejson python-pyme python-augeas python-django python-bootstrapform libjs-twitter-bootstrap') @task def update(): From be842a5baaf6998a6c13d17bd72691a8171c9155 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 13 May 2014 12:13:54 +0530 Subject: [PATCH 2/5] Remove dependency on unused augeas We can introduce it later again when it actually being used. --- INSTALL | 10 ++++------ Makefile | 2 +- fabfile.py | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/INSTALL b/INSTALL index b147f8dc8..b131f1f4e 100644 --- a/INSTALL +++ b/INSTALL @@ -4,7 +4,7 @@ Install the dependencies: -apt-get install augeas-tools libpython2.7 pandoc psmisc python2.7 python-augeas python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo +apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo Unzip and untar the source into a directory. Change to the directory containing the program. Run: @@ -26,7 +26,9 @@ and the default password is "secret". * *GNU Make* is used to build the templates and such. -* python-augeas and augeas - used for configuration management +* *libjs-twitter-bootstrap* - A responsive, mobile first front-end framework + +* *python-bootstrapform* - Render django forms for Twitter Bootstrap The documentation has some dependencies too. @@ -38,10 +40,6 @@ The documentation has some dependencies too. * *GNU Make* processes /doc/Makefile. -* *libjs-twitter-bootstrap* - A responsive, mobile first front-end framework - -* *python-bootstrapform* - Render django forms for Twitter Bootstrap - ## Building the Documentation Documentation has been collected into a pdf that can be built using diff --git a/Makefile b/Makefile index d1f1407c7..71990e49f 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ default: config dirs docs all: default predepend: - sudo sh -c "apt-get install augeas-tools libpython2.7 pandoc psmisc python2.7 python-augeas python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo" + sudo sh -c "apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo" git submodule init git submodule update touch predepend diff --git a/fabfile.py b/fabfile.py index 1f0887e38..f56e08b29 100644 --- a/fabfile.py +++ b/fabfile.py @@ -150,7 +150,7 @@ def apache(): @task def deps(): "Basic plinth dependencies" - sudo('apt-get install --no-install-recommends -y python make pandoc python-simplejson python-pyme python-augeas python-django python-bootstrapform libjs-twitter-bootstrap') + sudo('apt-get install --no-install-recommends -y python make pandoc python-simplejson python-pyme python-django python-bootstrapform libjs-twitter-bootstrap') @task def update(): From defcb43883797aa02cc7101e2d4a26f197152362 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 13 May 2014 12:28:39 +0530 Subject: [PATCH 3/5] Use json instead of simplejson library to avoid extra depedency Simplejson is an externally mainainted version of json library available in Python 2.6 and up. It supports Python 2.5 which were are not targetting. It also boasts better speed which is not at all a factor for us. --- INSTALL | 2 +- Makefile | 2 +- fabfile.py | 7 ++----- filedict.py | 6 +----- modules/installed/lib/user_store.py | 5 ----- modules/installed/santiago/santiago.py | 4 ---- modules/installed/system/config.py | 5 +---- 7 files changed, 6 insertions(+), 25 deletions(-) diff --git a/INSTALL b/INSTALL index b131f1f4e..503c1a53a 100644 --- a/INSTALL +++ b/INSTALL @@ -4,7 +4,7 @@ Install the dependencies: -apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo +apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-bootstrapform libjs-twitter-bootstrap sudo Unzip and untar the source into a directory. Change to the directory containing the program. Run: diff --git a/Makefile b/Makefile index 71990e49f..298bc0bb5 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ default: config dirs docs all: default predepend: - sudo sh -c "apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-simplejson python-bootstrapform libjs-twitter-bootstrap sudo" + sudo sh -c "apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-bootstrapform libjs-twitter-bootstrap sudo" git submodule init git submodule update touch predepend diff --git a/fabfile.py b/fabfile.py index f56e08b29..c8bde9722 100644 --- a/fabfile.py +++ b/fabfile.py @@ -7,10 +7,7 @@ # plinth box import os,sys, subprocess -try: - import simplejson as json -except ImportError: - import json +import json import fabric.api from fabric.api import local, env, cd, put, get, task @@ -150,7 +147,7 @@ def apache(): @task def deps(): "Basic plinth dependencies" - sudo('apt-get install --no-install-recommends -y python make pandoc python-simplejson python-pyme python-django python-bootstrapform libjs-twitter-bootstrap') + sudo('apt-get install --no-install-recommends -y python make pandoc python-pyme python-django python-bootstrapform libjs-twitter-bootstrap') @task def update(): diff --git a/filedict.py b/filedict.py index d4f9a35ad..94f779759 100644 --- a/filedict.py +++ b/filedict.py @@ -5,13 +5,9 @@ Author: Erez Shinan Date : 31-May-2009 """ -try: - import simplejson as json ## jlv replaced pickle with json -except ImportError: - import json +import json import UserDict -##import cPickle as pickle import sqlite3 diff --git a/modules/installed/lib/user_store.py b/modules/installed/lib/user_store.py index 595e83893..41d13f947 100644 --- a/modules/installed/lib/user_store.py +++ b/modules/installed/lib/user_store.py @@ -1,8 +1,3 @@ -import os -try: - import simplejson as json -except ImportError: - import json import cherrypy import cfg from model import User diff --git a/modules/installed/santiago/santiago.py b/modules/installed/santiago/santiago.py index 6d179c50b..b052daab7 100644 --- a/modules/installed/santiago/santiago.py +++ b/modules/installed/santiago/santiago.py @@ -7,10 +7,6 @@ haven't figured that one all the way through yet. import os, sys import cherrypy -try: - import simplejson as json -except ImportError: - import json from gettext import gettext as _ from plugin_mount import PagePlugin from modules.auth import require diff --git a/modules/installed/system/config.py b/modules/installed/system/config.py index dde4329e3..d39777e29 100644 --- a/modules/installed/system/config.py +++ b/modules/installed/system/config.py @@ -23,10 +23,7 @@ import cherrypy from django import forms from django.core import validators from gettext import gettext as _ -try: - import simplejson as json -except ImportError: - import json +import json import os import socket From f602865d05111dbefe7cddb53052c80c123d2ec3 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 13 May 2014 12:38:13 +0530 Subject: [PATCH 4/5] Remove wrong dependency on libpython2.7 python2.7 is what we should depend on. libpython2.7-stdlib a dependency for python2.7 contains all the standard libraries. libpython2.7, I believe, is required only for using python modules written in C. --- INSTALL | 2 +- Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL b/INSTALL index 503c1a53a..a32ae8fb8 100644 --- a/INSTALL +++ b/INSTALL @@ -4,7 +4,7 @@ Install the dependencies: -apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-bootstrapform libjs-twitter-bootstrap sudo +apt-get install pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-bootstrapform libjs-twitter-bootstrap sudo Unzip and untar the source into a directory. Change to the directory containing the program. Run: diff --git a/Makefile b/Makefile index 298bc0bb5..bf6f8c021 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ default: config dirs docs all: default predepend: - sudo sh -c "apt-get install libpython2.7 pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-bootstrapform libjs-twitter-bootstrap sudo" + sudo sh -c "apt-get install pandoc psmisc python2.7 python-bcrypt python-cherrypy3 python-django python-passlib python-bootstrapform libjs-twitter-bootstrap sudo" git submodule init git submodule update touch predepend From 7f24e3ce2b59bee4ed19a94289d8e2ae743a6d2d Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Tue, 13 May 2014 13:15:54 +0530 Subject: [PATCH 5/5] Remove hard coded list of timezones in favor system time zones - Setting the system to a timezone that does not exist in system is bad - The timezone list will get outdated frequently - Duplicating a large list that already maintained elsewhere --- modules/installed/system/config.py | 21 +- modules/installed/system/time_zones | 572 ---------------------------- 2 files changed, 12 insertions(+), 581 deletions(-) delete mode 100644 modules/installed/system/time_zones diff --git a/modules/installed/system/config.py b/modules/installed/system/config.py index d39777e29..808681f2e 100644 --- a/modules/installed/system/config.py +++ b/modules/installed/system/config.py @@ -23,8 +23,7 @@ import cherrypy from django import forms from django.core import validators from gettext import gettext as _ -import json -import os +import re import socket import actions @@ -76,14 +75,18 @@ and must not be greater than 63 characters in length.'), @staticmethod def get_time_zones(): """Return list of available time zones""" - # XXX: Get rid of a custom file and read the values from /usr - module_file = __file__ - if module_file.endswith(".pyc"): - module_file = module_file[:-1] + time_zones = [] + for line in open('/usr/share/zoneinfo/zone.tab'): + if re.match(r'^(#|\s*$)', line): + continue - module_dir = os.path.dirname(os.path.realpath(module_file)) - time_zones_file = os.path.join(module_dir, 'time_zones') - return json.loads(util.slurp(time_zones_file)) + try: + time_zones.append(line.split()[2]) + except IndexError: + pass + + time_zones.sort() + return time_zones class Configuration(PagePlugin): diff --git a/modules/installed/system/time_zones b/modules/installed/system/time_zones deleted file mode 100644 index 58c8b7ad3..000000000 --- a/modules/installed/system/time_zones +++ /dev/null @@ -1,572 +0,0 @@ -[ - "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/Argentina/Buenos_Aires", - "America/Argentina/Catamarca", - "America/Argentina/ComodRivadavia", - "America/Argentina/Cordoba", - "America/Argentina/Jujuy", - "America/Argentina/La_Rioja", - "America/Argentina/Mendoza", - "America/Argentina/Rio_Gallegos", - "America/Argentina/Salta", - "America/Argentina/San_Juan", - "America/Argentina/San_Luis", - "America/Argentina/Tucuman", - "America/Argentina/Ushuaia", - "America/Aruba", - "America/Asuncion", - "America/Atikokan", - "America/Atka", - "America/Bahia", - "America/Bahia_Banderas", - "America/Barbados", - "America/Belem", - "America/Belize", - "America/Blanc-Sablon", - "America/Boa_Vista", - "America/Bogota", - "America/Boise", - "America/Buenos_Aires", - "America/Cambridge_Bay", - "America/Campo_Grande", - "America/Cancun", - "America/Caracas", - "America/Catamarca", - "America/Cayenne", - "America/Cayman", - "America/Chicago", - "America/Chihuahua", - "America/Coral_Harbour", - "America/Cordoba", - "America/Costa_Rica", - "America/Cuiaba", - "America/Curacao", - "America/Danmarkshavn", - "America/Dawson", - "America/Dawson_Creek", - "America/Denver", - "America/Detroit", - "America/Dominica", - "America/Edmonton", - "America/Eirunepe", - "America/El_Salvador", - "America/Ensenada", - "America/Fort_Wayne", - "America/Fortaleza", - "America/Glace_Bay", - "America/Godthab", - "America/Goose_Bay", - "America/Grand_Turk", - "America/Grenada", - "America/Guadeloupe", - "America/Guatemala", - "America/Guayaquil", - "America/Guyana", - "America/Halifax", - "America/Havana", - "America/Hermosillo", - "America/Indiana/Indianapolis", - "America/Indiana/Knox", - "America/Indiana/Marengo", - "America/Indiana/Petersburg", - "America/Indiana/Tell_City", - "America/Indiana/Vevay", - "America/Indiana/Vincennes", - "America/Indiana/Winamac", - "America/Indianapolis", - "America/Inuvik", - "America/Iqaluit", - "America/Jamaica", - "America/Jujuy", - "America/Juneau", - "America/Kentucky/Louisville", - "America/Kentucky/Monticello", - "America/Knox_IN", - "America/La_Paz", - "America/Lima", - "America/Los_Angeles", - "America/Louisville", - "America/Maceio", - "America/Managua", - "America/Manaus", - "America/Marigot", - "America/Martinique", - "America/Matamoros", - "America/Mazatlan", - "America/Mendoza", - "America/Menominee", - "America/Merida", - "America/Mexico_City", - "America/Miquelon", - "America/Moncton", - "America/Monterrey", - "America/Montevideo", - "America/Montreal", - "America/Montserrat", - "America/Nassau", - "America/New_York", - "America/Nipigon", - "America/Nome", - "America/Noronha", - "America/North_Dakota/Center", - "America/North_Dakota/New_Salem", - "America/Ojinaga", - "America/Panama", - "America/Pangnirtung", - "America/Paramaribo", - "America/Phoenix", - "America/Port-au-Prince", - "America/Port_of_Spain", - "America/Porto_Acre", - "America/Porto_Velho", - "America/Puerto_Rico", - "America/Rainy_River", - "America/Rankin_Inlet", - "America/Recife", - "America/Regina", - "America/Resolute", - "America/Rio_Branco", - "America/Rosario", - "America/Santa_Isabel", - "America/Santarem", - "America/Santiago", - "America/Santo_Domingo", - "America/Sao_Paulo", - "America/Scoresbysund", - "America/Shiprock", - "America/St_Barthelemy", - "America/St_Johns", - "America/St_Kitts", - "America/St_Lucia", - "America/St_Thomas", - "America/St_Vincent", - "America/Swift_Current", - "America/Tegucigalpa", - "America/Thule", - "America/Thunder_Bay", - "America/Tijuana", - "America/Toronto", - "America/Tortola", - "America/Vancouver", - "America/Virgin", - "America/Whitehorse", - "America/Winnipeg", - "America/Yakutat", - "America/Yellowknife", - "Antarctica/Casey", - "Antarctica/Davis", - "Antarctica/DumontDUrville", - "Antarctica/Macquarie", - "Antarctica/Mawson", - "Antarctica/McMurdo", - "Antarctica/Palmer", - "Antarctica/Rothera", - "Antarctica/South_Pole", - "Antarctica/Syowa", - "Antarctica/Vostok", - "Arctic/Longyearbyen", - "Asia/Aden", - "Asia/Almaty", - "Asia/Amman", - "Asia/Anadyr", - "Asia/Aqtau", - "Asia/Aqtobe", - "Asia/Ashgabat", - "Asia/Ashkhabad", - "Asia/Baghdad", - "Asia/Bahrain", - "Asia/Baku", - "Asia/Bangkok", - "Asia/Beirut", - "Asia/Bishkek", - "Asia/Brunei", - "Asia/Calcutta", - "Asia/Choibalsan", - "Asia/Chongqing", - "Asia/Chungking", - "Asia/Colombo", - "Asia/Dacca", - "Asia/Damascus", - "Asia/Dhaka", - "Asia/Dili", - "Asia/Dubai", - "Asia/Dushanbe", - "Asia/Gaza", - "Asia/Harbin", - "Asia/Ho_Chi_Minh", - "Asia/Hong_Kong", - "Asia/Hovd", - "Asia/Irkutsk", - "Asia/Istanbul", - "Asia/Jakarta", - "Asia/Jayapura", - "Asia/Jerusalem", - "Asia/Kabul", - "Asia/Kamchatka", - "Asia/Karachi", - "Asia/Kashgar", - "Asia/Kathmandu", - "Asia/Katmandu", - "Asia/Kolkata", - "Asia/Krasnoyarsk", - "Asia/Kuala_Lumpur", - "Asia/Kuching", - "Asia/Kuwait", - "Asia/Macao", - "Asia/Macau", - "Asia/Magadan", - "Asia/Makassar", - "Asia/Manila", - "Asia/Muscat", - "Asia/Nicosia", - "Asia/Novokuznetsk", - "Asia/Novosibirsk", - "Asia/Omsk", - "Asia/Oral", - "Asia/Phnom_Penh", - "Asia/Pontianak", - "Asia/Pyongyang", - "Asia/Qatar", - "Asia/Qyzylorda", - "Asia/Rangoon", - "Asia/Riyadh", - "Asia/Riyadh87", - "Asia/Riyadh88", - "Asia/Riyadh89", - "Asia/Saigon", - "Asia/Sakhalin", - "Asia/Samarkand", - "Asia/Seoul", - "Asia/Shanghai", - "Asia/Singapore", - "Asia/Taipei", - "Asia/Tashkent", - "Asia/Tbilisi", - "Asia/Tehran", - "Asia/Tel_Aviv", - "Asia/Thimbu", - "Asia/Thimphu", - "Asia/Tokyo", - "Asia/Ujung_Pandang", - "Asia/Ulaanbaatar", - "Asia/Ulan_Bator", - "Asia/Urumqi", - "Asia/Vientiane", - "Asia/Vladivostok", - "Asia/Yakutsk", - "Asia/Yekaterinburg", - "Asia/Yerevan", - "Atlantic/Azores", - "Atlantic/Bermuda", - "Atlantic/Canary", - "Atlantic/Cape_Verde", - "Atlantic/Faeroe", - "Atlantic/Faroe", - "Atlantic/Jan_Mayen", - "Atlantic/Madeira", - "Atlantic/Reykjavik", - "Atlantic/South_Georgia", - "Atlantic/St_Helena", - "Atlantic/Stanley", - "Australia/ACT", - "Australia/Adelaide", - "Australia/Brisbane", - "Australia/Broken_Hill", - "Australia/Canberra", - "Australia/Currie", - "Australia/Darwin", - "Australia/Eucla", - "Australia/Hobart", - "Australia/LHI", - "Australia/Lindeman", - "Australia/Lord_Howe", - "Australia/Melbourne", - "Australia/NSW", - "Australia/North", - "Australia/Perth", - "Australia/Queensland", - "Australia/South", - "Australia/Sydney", - "Australia/Tasmania", - "Australia/Victoria", - "Australia/West", - "Australia/Yancowinna", - "Brazil/Acre", - "Brazil/DeNoronha", - "Brazil/East", - "Brazil/West", - "CET", - "CST6CDT", - "Canada/Atlantic", - "Canada/Central", - "Canada/East-Saskatchewan", - "Canada/Eastern", - "Canada/Mountain", - "Canada/Newfoundland", - "Canada/Pacific", - "Canada/Saskatchewan", - "Canada/Yukon", - "Chile/Continental", - "Chile/EasterIsland", - "Cuba", - "EET", - "EST", - "EST5EDT", - "Egypt", - "Eire", - "Etc/GMT", - "Etc/GMT+0", - "Etc/GMT+1", - "Etc/GMT+10", - "Etc/GMT+11", - "Etc/GMT+12", - "Etc/GMT+2", - "Etc/GMT+3", - "Etc/GMT+4", - "Etc/GMT+5", - "Etc/GMT+6", - "Etc/GMT+7", - "Etc/GMT+8", - "Etc/GMT+9", - "Etc/GMT-0", - "Etc/GMT-1", - "Etc/GMT-10", - "Etc/GMT-11", - "Etc/GMT-12", - "Etc/GMT-13", - "Etc/GMT-14", - "Etc/GMT-2", - "Etc/GMT-3", - "Etc/GMT-4", - "Etc/GMT-5", - "Etc/GMT-6", - "Etc/GMT-7", - "Etc/GMT-8", - "Etc/GMT-9", - "Etc/GMT0", - "Etc/Greenwich", - "Etc/UCT", - "Etc/UTC", - "Etc/Universal", - "Etc/Zulu", - "Europe/Amsterdam", - "Europe/Andorra", - "Europe/Athens", - "Europe/Belfast", - "Europe/Belgrade", - "Europe/Berlin", - "Europe/Bratislava", - "Europe/Brussels", - "Europe/Bucharest", - "Europe/Budapest", - "Europe/Chisinau", - "Europe/Copenhagen", - "Europe/Dublin", - "Europe/Gibraltar", - "Europe/Guernsey", - "Europe/Helsinki", - "Europe/Isle_of_Man", - "Europe/Istanbul", - "Europe/Jersey", - "Europe/Kaliningrad", - "Europe/Kiev", - "Europe/Lisbon", - "Europe/Ljubljana", - "Europe/London", - "Europe/Luxembourg", - "Europe/Madrid", - "Europe/Malta", - "Europe/Mariehamn", - "Europe/Minsk", - "Europe/Monaco", - "Europe/Moscow", - "Europe/Nicosia", - "Europe/Oslo", - "Europe/Paris", - "Europe/Podgorica", - "Europe/Prague", - "Europe/Riga", - "Europe/Rome", - "Europe/Samara", - "Europe/San_Marino", - "Europe/Sarajevo", - "Europe/Simferopol", - "Europe/Skopje", - "Europe/Sofia", - "Europe/Stockholm", - "Europe/Tallinn", - "Europe/Tirane", - "Europe/Tiraspol", - "Europe/Uzhgorod", - "Europe/Vaduz", - "Europe/Vatican", - "Europe/Vienna", - "Europe/Vilnius", - "Europe/Volgograd", - "Europe/Warsaw", - "Europe/Zagreb", - "Europe/Zaporozhye", - "Europe/Zurich", - "GB", - "GB-Eire", - "GMT", - "GMT+0", - "Greenwich", - "HST", - "Hongkong", - "Iceland", - "Indian/Antananarivo", - "Indian/Chagos", - "Indian/Christmas", - "Indian/Cocos", - "Indian/Comoro", - "Indian/Kerguelen", - "Indian/Mahe", - "Indian/Maldives", - "Indian/Mauritius", - "Indian/Mayotte", - "Indian/Reunion", - "Iran", - "Israel", - "Jamaica", - "Japan", - "Kwajalein", - "Libya", - "MET", - "MST", - "MST7MDT", - "Mexico/BajaNorte", - "Mexico/BajaSur", - "Mexico/General", - "Mideast/Riyadh87", - "Mideast/Riyadh88", - "Mideast/Riyadh89", - "NZ", - "NZ-CHAT", - "Navajo", - "PRC", - "PST8PDT", - "Pacific/Apia", - "Pacific/Auckland", - "Pacific/Chatham", - "Pacific/Chuuk", - "Pacific/Easter", - "Pacific/Efate", - "Pacific/Enderbury", - "Pacific/Fakaofo", - "Pacific/Fiji", - "Pacific/Funafuti", - "Pacific/Galapagos", - "Pacific/Gambier", - "Pacific/Guadalcanal", - "Pacific/Guam", - "Pacific/Honolulu", - "Pacific/Johnston", - "Pacific/Kiritimati", - "Pacific/Kosrae", - "Pacific/Kwajalein", - "Pacific/Majuro", - "Pacific/Marquesas", - "Pacific/Midway", - "Pacific/Nauru", - "Pacific/Niue", - "Pacific/Norfolk", - "Pacific/Noumea", - "Pacific/Pago_Pago", - "Pacific/Palau", - "Pacific/Pitcairn", - "Pacific/Pohnpei", - "Pacific/Ponape", - "Pacific/Port_Moresby", - "Pacific/Rarotonga", - "Pacific/Saipan", - "Pacific/Samoa", - "Pacific/Tahiti", - "Pacific/Tarawa", - "Pacific/Tongatapu", - "Pacific/Truk", - "Pacific/Wake", - "Pacific/Wallis", - "Pacific/Yap", - "Poland", - "Portugal", - "ROC", - "ROK", - "Singapore", - "Turkey", - "UCT", - "US/Alaska", - "US/Aleutian", - "US/Arizona", - "US/Central", - "US/East-Indiana", - "US/Eastern", - "US/Hawaii", - "US/Indiana-Starke", - "US/Michigan", - "US/Mountain", - "US/Pacific", - "US/Pacific-New", - "US/Samoa", - "UTC", - "Universal", - "W-SU", - "Zulu" -] \ No newline at end of file