audioform_static.py 923 B

123456789101112131415161718192021222324252627
  1. from flask_wtf import Form
  2. from wtforms import StringField, validators, SubmitField
  3. from larigira.formutils import AutocompleteStringField
  4. class StaticAudioForm(Form):
  5. nick = StringField('Audio nick', validators=[validators.required()],
  6. description='A simple name to recognize this audio')
  7. path = AutocompleteStringField('dl-suggested-files',
  8. 'Path', validators=[validators.required()],
  9. description='Full path to audio file')
  10. submit = SubmitField('Submit')
  11. def populate_from_audiospec(self, audiospec):
  12. if 'nick' in audiospec:
  13. self.nick.data = audiospec['nick']
  14. if 'paths' in audiospec:
  15. self.path.data = audiospec['paths'][0]
  16. def staticaudio_receive(form):
  17. return {
  18. 'kind': 'static',
  19. 'nick': form.nick.data,
  20. 'paths': [form.path.data]
  21. }