Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
352 lines (338 sloc) 13.2 KB
# coding: utf-8
from pkg_resources import get_distribution
from pyramid.httpexceptions import HTTPNotFound
from pyramid.view import static_view
from pyramid.view import view_config
# www is a view for static files; it will be found when all other
# views fail to be found (it's a NotFound view)
www = static_view('{{package}}:static', cache_max_age=86400)
cache_one_hour = 3600
cache_one_day = 86400
never_cache = 0
@view_config(name='versions.json', renderer='json', http_cache=cache_one_hour)
def versions(request):
pjqm_dist = get_distribution('pyramid_jqm')
pyramid_dist = get_distribution('pyramid')
return {'pjqm_version':pjqm_dist.version,
'pyramid_version':pyramid_dist.version}
@view_config(name='countries.json', renderer='json', http_cache=cache_one_day)
def countries(request):
return countrylist
@view_config(name='webframeworks.json', renderer='json',
http_cache=cache_one_day)
def webframeworks(crequest):
return webframework_list
@view_config(name='get_personalinfo.json', renderer='json',
http_cache=never_cache)
def get_personalinfo(request):
return personalinfo
@view_config(name='change_personalinfo.json', renderer='json',
http_cache=never_cache)
def change_personalinfo(request):
data = request.json_body
frameworks = []
update = dict(frameworks=frameworks)
for item in data:
name, value = item['name'], item['value']
if name == 'newsletter':
update['newsletter'] = True
if name == 'frameworks':
frameworks.append(value)
else:
update[name] = value
if not 'newsletter' in update:
update['newsletter'] = False
personalinfo.update(update)
return {}
personalinfo = {'email':'jqm@example.com', 'firstname':'John',
'lastname':'Mobile', 'country':'US', 'newsletter':False}
countrylist = [
{'abbr': 'US', 'name': 'United States'},
{'abbr': 'CA', 'name': 'Canada'},
{'abbr': 'AX', 'name': 'Åland Islands'},
{'abbr': 'AL', 'name': 'Albania'},
{'abbr': 'DZ', 'name': 'Algeria'},
{'abbr': 'AS', 'name': 'American Samoa'},
{'abbr': 'AD', 'name': 'Andorra'},
{'abbr': 'AO', 'name': 'Angola'},
{'abbr': 'AI', 'name': 'Anguilla'},
{'abbr': 'AQ', 'name': 'Antarctica'},
{'abbr': 'AG', 'name': 'Antigua and Barbuda'},
{'abbr': 'AR', 'name': 'Argentina'},
{'abbr': 'AM', 'name': 'Armenia'},
{'abbr': 'AW', 'name': 'Aruba'},
{'abbr': 'AU', 'name': 'Australia'},
{'abbr': 'AT', 'name': 'Austria'},
{'abbr': 'AZ', 'name': 'Azerbaijan'},
{'abbr': 'BS', 'name': 'Bahamas'},
{'abbr': 'BH', 'name': 'Bahrain'},
{'abbr': 'BD', 'name': 'Bangladesh'},
{'abbr': 'BB', 'name': 'Barbados'},
{'abbr': 'BY', 'name': 'Belarus'},
{'abbr': 'BE', 'name': 'Belgium'},
{'abbr': 'BZ', 'name': 'Belize'},
{'abbr': 'BJ', 'name': 'Benin'},
{'abbr': 'BM', 'name': 'Bermuda'},
{'abbr': 'BT', 'name': 'Bhutan'},
{'abbr': 'BO', 'name': 'Bolivia'},
{'abbr': 'BA', 'name': 'Bosnia and Herzegovina'},
{'abbr': 'BW', 'name': 'Botswana'},
{'abbr': 'BV', 'name': 'Bouvet Island'},
{'abbr': 'BR', 'name': 'Brazil'},
{'abbr': 'IO', 'name': 'British Indian Ocean Territory'},
{'abbr': 'BN', 'name': 'Brunei'},
{'abbr': 'BG', 'name': 'Bulgaria'},
{'abbr': 'BF', 'name': 'Burkina Faso'},
{'abbr': 'BI', 'name': 'Burundi'},
{'abbr': 'KH', 'name': 'Cambodia'},
{'abbr': 'CM', 'name': 'Cameroon'},
{'abbr': 'CV', 'name': 'Cape Verde'},
{'abbr': 'KY', 'name': 'Cayman Islands'},
{'abbr': 'CF', 'name': 'Central African Republic'},
{'abbr': 'TD', 'name': 'Chad'},
{'abbr': 'CL', 'name': 'Chile'},
{'abbr': 'CN', 'name': 'China'},
{'abbr': 'CX', 'name': 'Christmas Island'},
{'abbr': 'CP', 'name': 'Clipperton Island'},
{'abbr': 'CC', 'name': 'Cocos (Keeling) Islands'},
{'abbr': 'CO', 'name': 'Colombia'},
{'abbr': 'KM', 'name': 'Comoros'},
{'abbr': 'CG', 'name': 'Congo'},
{'abbr': 'CK', 'name': 'Cook Islands'},
{'abbr': 'CR', 'name': 'Costa Rica'},
{'abbr': 'CI', 'name': "Côte d'Ivoire"},
{'abbr': 'HR', 'name': 'Croatia'},
{'abbr': 'CU', 'name': 'Cuba'},
{'abbr': 'CY', 'name': 'Cyprus'},
{'abbr': 'CZ', 'name': 'Czech Republic'},
{'abbr': 'DK', 'name': 'Denmark'},
{'abbr': 'DJ', 'name': 'Djibouti'},
{'abbr': 'DM', 'name': 'Dominica'},
{'abbr': 'DO', 'name': 'Dominican Republic'},
{'abbr': 'CD', 'name': 'DR Congo'},
{'abbr': 'EC', 'name': 'Ecuador'},
{'abbr': 'EG', 'name': 'Egypt'},
{'abbr': 'SV', 'name': 'El Salvador'},
{'abbr': 'GQ', 'name': 'Equatorial Guinea'},
{'abbr': 'ER', 'name': 'Eritrea'},
{'abbr': 'EE', 'name': 'Estonia'},
{'abbr': 'ET', 'name': 'Ethiopia'},
{'abbr': 'FK', 'name': 'Falkland Islands (Malvinas)'},
{'abbr': 'FO', 'name': 'Faroe Islands'},
{'abbr': 'FJ', 'name': 'Fiji'},
{'abbr': 'FI', 'name': 'Finland'},
{'abbr': 'FR', 'name': 'France'},
{'abbr': 'GF', 'name': 'French Guiana'},
{'abbr': 'PF', 'name': 'French Polynesia'},
{'abbr': 'TF', 'name': 'French Southern and Antarctic Lands'},
{'abbr': 'GA', 'name': 'Gabon'},
{'abbr': 'GM', 'name': 'Gambia'},
{'abbr': 'GE', 'name': 'Georgia'},
{'abbr': 'DE', 'name': 'Germany'},
{'abbr': 'GH', 'name': 'Ghana'},
{'abbr': 'GI', 'name': 'Gibraltar'},
{'abbr': 'GR', 'name': 'Greece'},
{'abbr': 'GL', 'name': 'Greenland'},
{'abbr': 'GD', 'name': 'Grenada'},
{'abbr': 'GP', 'name': 'Guadeloupe'},
{'abbr': 'GU', 'name': 'Guam'},
{'abbr': 'GT', 'name': 'Guatemala'},
{'abbr': 'GG', 'name': 'Guernsey'},
{'abbr': 'GN', 'name': 'Guinea'},
{'abbr': 'GW', 'name': 'Guinea-Bissau'},
{'abbr': 'GY', 'name': 'Guyana'},
{'abbr': 'HT', 'name': 'Haiti'},
{'abbr': 'HM', 'name': 'Heard Island and McDonald Islands'},
{'abbr': 'HN', 'name': 'Honduras'},
{'abbr': 'HK', 'name': 'Hong Kong'},
{'abbr': 'HU', 'name': 'Hungary'},
{'abbr': 'IS', 'name': 'Iceland'},
{'abbr': 'IN', 'name': 'India'},
{'abbr': 'ID', 'name': 'Indonesia'},
{'abbr': 'IR', 'name': 'Iran'},
{'abbr': 'IQ', 'name': 'Iraq'},
{'abbr': 'IE', 'name': 'Ireland'},
{'abbr': 'IM', 'name': 'Isle of Man'},
{'abbr': 'IL', 'name': 'Israel'},
{'abbr': 'IT', 'name': 'Italy'},
{'abbr': 'JM', 'name': 'Jamaica'},
{'abbr': 'JP', 'name': 'Japan'},
{'abbr': 'JE', 'name': 'Jersey'},
{'abbr': 'JO', 'name': 'Jordan'},
{'abbr': 'KZ', 'name': 'Kazakhstan'},
{'abbr': 'KE', 'name': 'Kenya'},
{'abbr': 'KI', 'name': 'Kiribati'},
{'abbr': 'KW', 'name': 'Kuwait'},
{'abbr': 'KG', 'name': 'Kyrgyzstan'},
{'abbr': 'LA', 'name': 'Laos'},
{'abbr': 'LV', 'name': 'Latvia'},
{'abbr': 'LB', 'name': 'Lebanon'},
{'abbr': 'LS', 'name': 'Lesotho'},
{'abbr': 'LR', 'name': 'Liberia'},
{'abbr': 'LY', 'name': 'Libya'},
{'abbr': 'LI', 'name': 'Liechtenstein'},
{'abbr': 'LT', 'name': 'Lithuania'},
{'abbr': 'LU', 'name': 'Luxembourg'},
{'abbr': 'MO', 'name': 'Macau'},
{'abbr': 'MK', 'name': 'Macedonia'},
{'abbr': 'MG', 'name': 'Madagascar'},
{'abbr': 'MW', 'name': 'Malawi'},
{'abbr': 'MY', 'name': 'Malaysia'},
{'abbr': 'MV', 'name': 'Maldives'},
{'abbr': 'ML', 'name': 'Mali'},
{'abbr': 'MT', 'name': 'Malta'},
{'abbr': 'MH', 'name': 'Marshall Islands'},
{'abbr': 'MQ', 'name': 'Martinique'},
{'abbr': 'MR', 'name': 'Mauritania'},
{'abbr': 'MU', 'name': 'Mauritius'},
{'abbr': 'YT', 'name': 'Mayotte'},
{'abbr': 'MX', 'name': 'Mexico'},
{'abbr': 'FM', 'name': 'Micronesia'},
{'abbr': 'MD', 'name': 'Moldova'},
{'abbr': 'MC', 'name': 'Monaco'},
{'abbr': 'MN', 'name': 'Mongolia'},
{'abbr': 'ME', 'name': 'Montenegro'},
{'abbr': 'MS', 'name': 'Montserrat'},
{'abbr': 'MA', 'name': 'Morocco'},
{'abbr': 'MZ', 'name': 'Mozambique'},
{'abbr': 'MM', 'name': 'Myanmar'},
{'abbr': 'NA', 'name': 'Namibia'},
{'abbr': 'NR', 'name': 'Nauru'},
{'abbr': 'NP', 'name': 'Nepal'},
{'abbr': 'NL', 'name': 'Netherlands'},
{'abbr': 'AN', 'name': 'Netherlands Antilles'},
{'abbr': 'NC', 'name': 'New Caledonia'},
{'abbr': 'NZ', 'name': 'New Zealand'},
{'abbr': 'NI', 'name': 'Nicaragua'},
{'abbr': 'NE', 'name': 'Niger'},
{'abbr': 'NG', 'name': 'Nigeria'},
{'abbr': 'NU', 'name': 'Niue'},
{'abbr': 'NF', 'name': 'Norfolk Island'},
{'abbr': 'MP', 'name': 'Northern Mariana Islands'},
{'abbr': 'KP', 'name': 'North Korea'},
{'abbr': 'NO', 'name': 'Norway'},
{'abbr': 'OM', 'name': 'Oman'},
{'abbr': 'PK', 'name': 'Pakistan'},
{'abbr': 'PW', 'name': 'Palau'},
{'abbr': 'PS', 'name': 'Palestinian Territory'},
{'abbr': 'PA', 'name': 'Panama'},
{'abbr': 'PG', 'name': 'Papua New Guinea'},
{'abbr': 'PY', 'name': 'Paraguay'},
{'abbr': 'PE', 'name': 'Peru'},
{'abbr': 'PH', 'name': 'Philippines'},
{'abbr': 'PN', 'name': 'Pitcairn Islands'},
{'abbr': 'PL', 'name': 'Poland'},
{'abbr': 'PT', 'name': 'Portugal'},
{'abbr': 'PR', 'name': 'Puerto Rico'},
{'abbr': 'QA', 'name': 'Qatar'},
{'abbr': 'RE', 'name': 'R\xc3\xa9union'},
{'abbr': 'RO', 'name': 'Romania'},
{'abbr': 'RU', 'name': 'Russia'},
{'abbr': 'RW', 'name': 'Rwanda'},
{'abbr': 'BL', 'name': 'Saint Barthélemy'},
{'abbr': 'SH', 'name': 'Saint Helena, Ascension, and Tristan da Cunha'},
{'abbr': 'KN', 'name': 'Saint Kitts and Nevis'},
{'abbr': 'LC', 'name': 'Saint Lucia'},
{'abbr': 'MF', 'name': 'Saint Martin (French part)'},
{'abbr': 'PM', 'name': 'Saint Pierre and Miquelon'},
{'abbr': 'VC', 'name': 'Saint Vincent and the Grenadines'},
{'abbr': 'WS', 'name': 'Samoa'},
{'abbr': 'SM', 'name': 'San Marino'},
{'abbr': 'ST', 'name': 'São Tomé and Príncipe',},
{'abbr': 'SA', 'name': 'Saudi Arabia'},
{'abbr': 'SN', 'name': 'Senegal'},
{'abbr': 'RS', 'name': 'Serbia'},
{'abbr': 'SC', 'name': 'Seychelles'},
{'abbr': 'SL', 'name': 'Sierra Leone'},
{'abbr': 'SG', 'name': 'Singapore'},
{'abbr': 'SK', 'name': 'Slovakia'},
{'abbr': 'SI', 'name': 'Slovenia'},
{'abbr': 'SB', 'name': 'Solomon Islands'},
{'abbr': 'SO', 'name': 'Somalia'},
{'abbr': 'ZA', 'name': 'South Africa'},
{'abbr': 'GS', 'name': 'South Georgia and South Sandwich Islands'},
{'abbr': 'KR', 'name': 'South Korea'},
{'abbr': 'ES', 'name': 'Spain'},
{'abbr': 'LK', 'name': 'Sri Lanka'},
{'abbr': 'SD', 'name': 'Sudan'},
{'abbr': 'SR', 'name': 'Suriname'},
{'abbr': 'SJ', 'name': 'Svalbard'},
{'abbr': 'SZ', 'name': 'Swaziland'},
{'abbr': 'SE', 'name': 'Sweden'},
{'abbr': 'CH', 'name': 'Switzerland'},
{'abbr': 'SY', 'name': 'Syria'},
{'abbr': 'TW', 'name': 'Taiwan'},
{'abbr': 'TJ', 'name': 'Tajikistan'},
{'abbr': 'TZ', 'name': 'Tanzania'},
{'abbr': 'TH', 'name': 'Thailand'},
{'abbr': 'TL', 'name': 'Timor-Leste'},
{'abbr': 'TG', 'name': 'Togo'},
{'abbr': 'TK', 'name': 'Tokelau'},
{'abbr': 'TO', 'name': 'Tonga'},
{'abbr': 'TT', 'name': 'Trinidad and Tobago'},
{'abbr': 'TN', 'name': 'Tunisia'},
{'abbr': 'TR', 'name': 'Turkey'},
{'abbr': 'TM', 'name': 'Turkmenistan'},
{'abbr': 'TC', 'name': 'Turks and Caicos Islands'},
{'abbr': 'TV', 'name': 'Tuvalu'},
{'abbr': 'UG', 'name': 'Uganda'},
{'abbr': 'UA', 'name': 'Ukraine'},
{'abbr': 'AE', 'name': 'United Arab Emirates'},
{'abbr': 'GB', 'name': 'United Kingdom'},
{'abbr': 'UM', 'name': 'United States Minor Outlying Islands'},
{'abbr': 'XX', 'name': 'Unknown'},
{'abbr': 'UY', 'name': 'Uruguay'},
{'abbr': 'UZ', 'name': 'Uzbekistan'},
{'abbr': 'VU', 'name': 'Vanuatu'},
{'abbr': 'VA', 'name': 'Vatican City (Holy See)'},
{'abbr': 'VE', 'name': 'Venezuela'},
{'abbr': 'VN', 'name': 'Vietnam'},
{'abbr': 'VG', 'name': 'Virgin Islands (British)'},
{'abbr': 'VI', 'name': 'Virgin Islands (U.S.)'},
{'abbr': 'WF', 'name': 'Wallis and Futuna'},
{'abbr': 'EH', 'name': 'Western Sahara'},
{'abbr': 'YE', 'name': 'Yemen'},
{'abbr': 'ZM', 'name': 'Zambia'},
{'abbr': 'ZW', 'name': 'Zimbabwe'}
]
webframework_list = [
{'name': 'python',
'desc': 'Python',
'children':
[
{'name':'pyramid', 'desc':'Pyramid'},
{'name':'pylons', 'desc':'Pylons'},
{'name':'django', 'desc':'Django'},
{'name':'turbogears', 'desc':'TurboGears'},
{'name':'zope', 'desc':'Zope'},
{'name':'grok', 'desc':'Grok'},
{'name':'flask', 'desc':'Flask'},
{'name':'bottle', 'desc':'Bottle'},
],
},
{'name': 'ruby',
'desc': 'Ruby',
'children':
[
{'name':'rails', 'desc':'Rails'},
{'name':'merb', 'desc':'Merb'},
{'name':'camping', 'desc':'Camping'},
{'name':'sinatra', 'desc':'Sinatra'},
],
},
{'name': 'php',
'desc': 'PHP',
'children':
[
{'name':'zend', 'desc':'Zend'},
{'name':'symfony', 'desc':'Symfony'},
],
},
]
@view_config(route_name="languages", renderer='templates/language_info.pt',
http_cache=cache_one_day)
def language_info(crequest):
for info in webframework_list:
if info['name'] == crequest.matchdict['name']:
return info
return HTTPNotFound()
Jump to Line
Something went wrong with that request. Please try again.