forked from crunk/distribusi-verse
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
48 lines
1.2 KiB
"""Describe File Form to describe files in the distribusi archive"""
|
|
|
|
from flask_wtf import FlaskForm
|
|
from wtforms import StringField, SubmitField, validators
|
|
from wtforms.validators import Length
|
|
from wtforms.widgets import TextArea
|
|
|
|
|
|
class DescribeFilesForm(FlaskForm):
|
|
"""DescribeFileForm selection form."""
|
|
|
|
alttext = StringField(
|
|
"Alt-text for this file:",
|
|
validators=[
|
|
Length(3, 255),
|
|
],
|
|
)
|
|
searchtags = StringField(
|
|
"Add search tags, seperated by commas. No need for the '#' sign:",
|
|
validators=[
|
|
Length(3, 500),
|
|
],
|
|
)
|
|
description = StringField(
|
|
"Description of this file:",
|
|
validators=[
|
|
Length(3, 4096),
|
|
],
|
|
widget=TextArea(),
|
|
)
|
|
save = SubmitField("Save")
|
|
|
|
def __init__(self, id, file_path=None, type=None):
|
|
super(DescribeFilesForm, self).__init__()
|
|
self.id = id
|
|
self.file_path = file_path
|
|
self.type = type
|
|
self.alttext.id = f"alttext-{id}"
|
|
self.searchtags.id = f"searchtags-{id}"
|
|
self.description.id = f"description-{id}"
|
|
self.save.id = f"save-{id}"
|
|
|
|
|
|
# def StringFieldWithId(form_name, **kwargs):
|
|
# name = kwargs.get('name', 'Bar')
|
|
# return wtf.StringField(name, render_kw={
|
|
# 'id': f'{}{}'.format(form_name, name.lower(),
|
|
# **kwargs.get('render_kw', {})})
|
|
|