reserved_ip.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. from flask import Blueprint, request
  4. import json
  5. import jimit as ji
  6. from jimvc.models import Utils
  7. from jimvc.models import Rules
  8. from jimvc.models import ReservedIP
  9. from base import Base
  10. __author__ = 'James Iter'
  11. __date__ = '2018-12-25'
  12. __contact__ = 'james.iter.cn@gmail.com'
  13. __copyright__ = '(c) 2018 by James Iter.'
  14. blueprint = Blueprint(
  15. 'api_reserved_ip',
  16. __name__,
  17. url_prefix='/api/reserved_ip'
  18. )
  19. blueprints = Blueprint(
  20. 'api_reserved_ips',
  21. __name__,
  22. url_prefix='/api/reserved_ips'
  23. )
  24. reserved_ip_base = Base(the_class=ReservedIP, the_blueprint=blueprint, the_blueprints=blueprints)
  25. @Utils.dumps2response
  26. def r_create():
  27. args_rules = [
  28. Rules.IP.value
  29. ]
  30. reserved_ip = ReservedIP()
  31. reserved_ip.ip = request.json.get('ip', '')
  32. try:
  33. ji.Check.previewing(args_rules, reserved_ip.__dict__)
  34. ret = dict()
  35. ret['state'] = ji.Common.exchange_state(20000)
  36. if reserved_ip.exist_by('ip'):
  37. ret['state'] = ji.Common.exchange_state(40901)
  38. return ret
  39. reserved_ip.create()
  40. reserved_ip.get()
  41. ret['data'] = reserved_ip.__dict__
  42. return ret
  43. except ji.PreviewingError, e:
  44. return json.loads(e.message)
  45. @Utils.dumps2response
  46. def r_get(ids):
  47. return reserved_ip_base.get(ids=ids, ids_rule=Rules.IDS.value, by_field='id')
  48. @Utils.dumps2response
  49. def r_get_by_filter():
  50. return reserved_ip_base.get_by_filter()
  51. @Utils.dumps2response
  52. def r_content_search():
  53. return reserved_ip_base.content_search()
  54. @Utils.dumps2response
  55. def r_delete(ids):
  56. return reserved_ip_base.delete(ids=ids, ids_rule=Rules.IDS.value, by_field='id')