task.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # -*- coding: utf-8 -*-
  2. """
  3. walle-web
  4. :copyright: © 2015-2017 walle-web.io
  5. :created time: 2017-03-19 15:50:07
  6. :author: wushuiyong@walle-web.io
  7. """
  8. try:
  9. from flask_wtf import FlaskForm # Try Flask-WTF v0.13+
  10. except ImportError:
  11. from flask_wtf import Form as FlaskForm # Fallback to Flask-WTF v0.12 or older
  12. from flask_wtf import Form
  13. from wtforms import TextField, IntegerField
  14. from wtforms import validators
  15. class TaskForm(Form):
  16. name = TextField('name', [validators.Length(min=1)])
  17. project_id = IntegerField('project_id', [validators.NumberRange(min=1)])
  18. servers = TextField('servers', [validators.Length(min=1)])
  19. commit_id = TextField('commit_id', [])
  20. status = IntegerField('status', [])
  21. # TODO 应该增加一个tag/branch其一必填
  22. tag = TextField('tag', [])
  23. branch = TextField('branch', [])
  24. file_transmission_mode = IntegerField('file_transmission_mode', [])
  25. file_list = TextField('file_list', [])
  26. id = None
  27. def set_id(self, id):
  28. self.id = id
  29. def form2dict(self):
  30. return {
  31. 'name': self.name.data if self.name.data else '',
  32. # todo
  33. 'user_id': 1,
  34. 'project_id': self.project_id.data if self.project_id.data else '',
  35. # todo default value
  36. 'action': 0,
  37. 'status': self.status.data if self.status.data else 0,
  38. 'link_id': '',
  39. 'ex_link_id': '',
  40. 'servers': self.servers.data if self.servers.data else '',
  41. 'commit_id': self.commit_id.data if self.commit_id.data else '',
  42. 'tag': self.tag.data if self.tag.data else '',
  43. 'branch': self.branch.data if self.branch.data else '',
  44. 'file_transmission_mode': self.file_transmission_mode.data if self.file_transmission_mode.data else 0,
  45. 'file_list': self.file_list.data if self.file_list.data else '',
  46. 'enable_rollback': 1,
  47. }