Create a new app and return a JSON object containing the new app information. ''' params = web.input(data=None) try: if params.data: data = decode_json(params.data) else: data = decode_json(web.ctx.data) App.validate(data) except Exception, e: logging.error(e) return error_response(400, 'Data did not pass validation') try: app = App(data) app.set_creator(auth_user) app.save() formatted_dict = app.formatted_dict() return encode_json(formatted_dict) except Exception, e: logging.error(e) return error_response(500) class AppHandler(object): ''' Handler for retrieving information about a specific app. Also allows app information to be updated, or for an app to be deleted. Only the creator can access and modify the app information. '''
from apps import App, Response, TemplateResponse, JSONResponse from wsgiref.simple_server import make_server app = App() @app.route('^/$', 'GET') def hello(request): return Response('Hello World') @app.route('^/user/$', 'POST') def create_user(request): return Response('User created', status=201) @app.route('^/user/(?P<name>\w+)/$', 'GET') def user_detail(request, name): return Response('Hello {name}'.format(name=name)) @app.route('^/user/(?P<name>\w+)/follow/$', 'POST') def create_user(name): return JSONResponse({'message': 'User Created.'}, status=201) @app.route('^/user/$', 'GET') def users(request): users_list = ['user%s' % i for i in range(10)] return TemplateResponse('users.html', titile='User List', users=users_list)