Quellcode durchsuchen

WebUI supports frequency timegen

boyska vor 7 Jahren
Ursprung
Commit
facde97f80
2 geänderte Dateien mit 37 neuen und 0 gelöschten Zeilen
  1. 35 0
      larigira/timeform_frequency.py
  2. 2 0
      setup.py

+ 35 - 0
larigira/timeform_frequency.py

@@ -0,0 +1,35 @@
+from __future__ import print_function
+
+from flask_wtf import Form
+from wtforms import StringField, DateTimeField, IntegerField, validators, \
+        SubmitField
+
+
+class FrequencyAlarmForm(Form):
+    nick = StringField(u'Alarm nick', validators=[validators.required()],
+                       description='A simple name to recognize this alarm')
+    start = DateTimeField(u'Start date and time',
+                          validators=[validators.required()],
+                          description='Date before which no alarm will ring, '
+                          'expressed as YYYY-MM-DD HH:MM:SS')
+    end = DateTimeField(u'End date and time',
+                        validators=[validators.optional()],
+                        description='Date after which no alarm will ring, '
+                        'expressed as YYYY-MM-DD HH:MM:SS')
+    interval = IntegerField(u'Frequency',
+                            validators=[validators.required()],
+                            description='in seconds')
+    submit = SubmitField(u'Submit')
+
+
+def frequencyalarm_receive(form):
+    obj = {
+        'kind': 'frequency',
+        'nick': form.nick.data,
+        'start': int(form.start.data.strftime('%s')),
+        'interval': form.interval.data,
+    }
+    if form.end.data:
+        obj['end'] = int(form.end.data.strftime('%s'))
+    return obj
+

+ 2 - 0
setup.py

@@ -67,9 +67,11 @@ setup(name='larigira',
           ],
           'larigira.timeform_create': [
               'single = larigira.timeform_single:SingleAlarmForm',
+              'frequency = larigira.timeform_frequency:FrequencyAlarmForm',
           ],
           'larigira.timeform_receive': [
               'single = larigira.timeform_single:singlealarm_receive',
+              'frequency = larigira.timeform_frequency:frequencyalarm_receive',
           ],
           'larigira.audioform_create': [
               'static = larigira.audioform_static:StaticAudioForm',