from flask_wtf import FlaskForm from flask_wtf.file import FileField, FileAllowed, FileRequired from wtforms.validators import DataRequired from wtforms import SelectField, SubmitField, TextAreaField class UploadForm(FlaskForm): uploadFile = FileField('file', validators=[ FileRequired(message="You must specify to upload"), FileAllowed(['txt', 'gz', 'zip', 'log'], 'Log files only!') ]) submit = SubmitField('Upload') class AnalyzeLog(FlaskForm): logFile = SelectField(u'Log file', validators = [DataRequired()]) submit = SubmitField('Analyze') class MySelectField(SelectField): def pre_validate(self, form): pass class QueryLog(FlaskForm): logFile = SelectField(u'Log file', validators = [DataRequired()]) queryOptions = MySelectField(u'Canned Queries', coerce=str, validators = [DataRequired()]) sqlQuery = TextAreaField(u"SQL Query", default="Enter your SQL query here", validators = [DataRequired()]) submit = SubmitField('RunQuery') class ChartLog(FlaskForm): logFile = SelectField(u'Log file', validators = [DataRequired()]) chartId = SelectField(u'Chart to display', validators = [DataRequired()]) submit = SubmitField('Chart')