Advertisement
Guest User

Untitled

a guest
Mar 12th, 2015
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. ###### from app/resources/post.py ##############
  2. class PostView(Resource):
  3. def get(self, post_id):
  4. return Post.query.filter_by(id=post_id).first_or_404()
  5.  
  6. def put(self, post_id):
  7. post = Post.query.filter_by(id=post_id).first_or_404()
  8. args = parser.parse_args()
  9. title = args.get('title')
  10. body = args.get('body')
  11. if title:
  12. post.title = title
  13. if body:
  14. post.body = body
  15. db.session.add(post)
  16. return post
  17.  
  18.  
  19. class PostListView(Resource):
  20. def get(self):
  21. POSTS_PER_PAGE = current_app.config.get('POSTS_PER_PAGE') or 1
  22. args = parser.parse_args()
  23. offset = args.get('offset') or 1
  24. items = Post.query.all().\
  25. order_by(Post.timestamp.desc()).\
  26. paginate(offset, offset + POSTS_PER_PAGE, False).\
  27. items()
  28. return items
  29.  
  30. def post(self):
  31. args = parser.parse_args()
  32. title = args.get('title')
  33. body = args.get('body')
  34. if title and body:
  35. post = Post(
  36. title=title,
  37. body=body,
  38. timestamp=datetime.datetime.utcnow()
  39. )
  40. db.session.add(post)
  41. return post
  42. else:
  43. return 400
  44. ############### from app/__init__.py ##################
  45. from flask import Flask
  46. from flask_sqlalchemy import SQLAlchemy
  47. from flask_restful import Api
  48.  
  49. from config import config
  50.  
  51.  
  52. db = SQLAlchemy()
  53. rest_api = Api()
  54.  
  55. def create_app(config_name='default'):
  56. app = Flask(__name__)
  57. app.config.from_object(config[config_name])
  58. db.init_app(app)
  59. rest_api.init_app(app)
  60. import resources
  61. rest_api.add_resource(resources.PostListView, '/', '/posts')
  62. rest_api.add_resource(resources.PostView, '/posts/<int:post_id>')
  63. return app
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement