Advertisement
AbraaoAllysson

api python

Nov 13th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. from flask import Flask
  2. from flask_restful import reqparse, abort, Api, Resource
  3.  
  4. app = Flask(__name__)
  5. api = Api(app)
  6.  
  7. TODOS = {
  8.  
  9. }
  10.  
  11. def abort_if_todo_doesnt_exist(todo_id):
  12. if todo_id not in TODOS:
  13. abort(404, message="Todo {} doesn't exist".format(todo_id))
  14.  
  15. parser = reqparse.RequestParser()
  16. parser.add_argument('Código de barra')
  17. parser.add_argument('Nome')
  18. parser.add_argument('Preço')
  19. parser.add_argument('Ativo')
  20. parser.add_argument('Categoria'),
  21. parser.add_argument('Vencimento')
  22.  
  23.  
  24.  
  25.  
  26. # Todo
  27. # shows a single todo item and lets you delete a todo item
  28. class Todo(Resource):
  29. def get(self, todo_id):
  30. abort_if_todo_doesnt_exist(todo_id)
  31. return TODOS[todo_id]
  32.  
  33. def delete(self, todo_id):
  34. abort_if_todo_doesnt_exist(todo_id)
  35. del TODOS[todo_id]
  36. return '', 204
  37.  
  38. def put(self, todo_id):
  39. args = parser.parse_args()
  40. task = {'task': args['task']}
  41. TODOS[todo_id] = task
  42. return task, 201
  43.  
  44.  
  45. # TodoList
  46. # shows a list of all todos, and lets you POST to add new tasks
  47. class TodoList(Resource):
  48. def get(self):
  49. return TODOS
  50.  
  51. def post(self):
  52. args = parser.parse_args()
  53. id = (len(TODOS) +1) #int(max(TODOS.keys()).lstrip('alimento'))
  54. todo_id = 'alimento%i' % id
  55. TODOS[todo_id] = {'id': id,'Código de barra': args['Código de barra'],'Nome': args['Nome'],'Preço': args['Preço'],'Ativo': args['Ativo'],'Categoria': args['Categoria'],'Vencimento': args['Vencimento']}
  56. return TODOS[todo_id], 201
  57.  
  58. ##
  59. ## Actually setup the Api resource routing here
  60. ##
  61. api.add_resource(TodoList, '/todos')
  62. api.add_resource(Todo, '/todos/<todo_id>')
  63.  
  64.  
  65. if __name__ == '__main__':
  66. app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement