urls.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: urls.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-07-15 19:19:41 (CST)
  9. # Last Update:星期五 2016-7-15 19:22:40 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from flask import Blueprint
  14. from .views import CollectAPI,LikeAPI,FollowAPI
  15. from .views import collect_following, add_collect, delete_collect
  16. site = Blueprint('mine', __name__)
  17. site.add_url_rule('/collect/following', view_func=collect_following)
  18. site.add_url_rule('/add-to-collect', view_func=add_collect, methods=['POST'])
  19. site.add_url_rule('/delete-from-collect',
  20. view_func=delete_collect,
  21. methods=['DELETE'])
  22. def register_api(view, endpoint, url):
  23. view_func = view.as_view(endpoint)
  24. site.add_url_rule(url,
  25. defaults={'uid': None},
  26. view_func=view_func,
  27. methods=['GET', 'POST', 'DELETE'])
  28. def register_draft(view, endpoint, url):
  29. view_func = view.as_view(endpoint)
  30. site.add_url_rule(url,
  31. defaults={'uid': None},
  32. view_func=view_func,
  33. methods=['GET', 'POST'])
  34. site.add_url_rule('%s/<int:uid>' % url,
  35. view_func=view_func,
  36. methods=['GET', 'PUT', 'DELETE'])
  37. collect_view = CollectAPI.as_view('collect')
  38. site.add_url_rule('/collect',
  39. defaults={'uid': None},
  40. view_func=collect_view,
  41. methods=['GET', ])
  42. site.add_url_rule('/collect', view_func=collect_view, methods=['POST', ])
  43. site.add_url_rule('/collect/<uid>',
  44. view_func=collect_view,
  45. methods=['GET', 'PUT', 'DELETE'])
  46. follow_view = FollowAPI.as_view('follow')
  47. site.add_url_rule('/follow',
  48. defaults={'type': 'topics'},
  49. view_func=follow_view,
  50. methods=['GET', ])
  51. site.add_url_rule('/follow', view_func=follow_view, methods=['POST', 'DELETE'])
  52. site.add_url_rule('/follow/<type>', view_func=follow_view, methods=['GET'])
  53. like_view = LikeAPI.as_view('like')
  54. site.add_url_rule('/like', view_func=like_view, methods=['POST', 'DELETE'])