helpers.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/env python
  2. # -*- coding=UTF-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2016 jianglin
  5. # File Name: helpers.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2016-05-20 13:56:43 (CST)
  9. # Last Update:星期二 2016-6-14 17:37:46 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from flask import abort
  14. from flask_login import current_user
  15. from time import time
  16. from random import randint
  17. def is_num(num):
  18. if num is not None:
  19. try:
  20. num = int(num)
  21. if num > 0:
  22. return num
  23. else:
  24. abort(404)
  25. except ValueError:
  26. abort(404)
  27. def register_api(site, view, endpoint, url, pk='uid', pk_type='int'):
  28. view_func = view.as_view(endpoint)
  29. site.add_url_rule(url,
  30. defaults={pk: None,
  31. 'page': 1},
  32. view_func=view_func,
  33. methods=['GET', ])
  34. site.add_url_rule('%s/?page=<int:page>' % url,
  35. defaults={pk: None},
  36. view_func=view_func,
  37. methods=['GET', ])
  38. site.add_url_rule(url, view_func=view_func, methods=['POST', ])
  39. site.add_url_rule('%s/<%s:%s>' % (url, pk_type, pk),
  40. defaults={'page': 1},
  41. view_func=view_func,
  42. methods=['GET', 'PUT', 'DELETE'])
  43. site.add_url_rule('%s/<%s:%s>/?page=<int:page>' % (url, pk_type, pk),
  44. view_func=view_func,
  45. methods=['GET', 'PUT', 'DELETE'])
  46. def make_uid():
  47. a = str(int(time()))
  48. b = str(current_user.id).zfill(6)
  49. c = str(randint(10, 99))
  50. return a + b + c