timeform_single.py 934 B

123456789101112131415161718192021222324252627
  1. from datetime import datetime
  2. from flask_wtf import Form
  3. from wtforms import StringField, DateTimeField, validators, SubmitField
  4. class SingleAlarmForm(Form):
  5. nick = StringField('Alarm nick', validators=[validators.required()],
  6. description='A simple name to recognize this alarm')
  7. dt = DateTimeField('Date and time', validators=[validators.required()],
  8. description='Date to ring on, expressed as '
  9. 'YYYY-MM-DD HH:MM:SS')
  10. submit = SubmitField('Submit')
  11. def populate_from_timespec(self, timespec):
  12. if 'nick' in timespec:
  13. self.nick.data = timespec['nick']
  14. if 'timestamp' in timespec:
  15. self.dt.data = datetime.fromtimestamp(timespec['timestamp'])
  16. def singlealarm_receive(form):
  17. return {
  18. 'kind': 'single',
  19. 'nick': form.nick.data,
  20. 'timestamp': int(form.dt.data.strftime('%s'))
  21. }