示例#1
0
class ModuleCrudForm(BaseModelForm):
    """Client Form ."""
    name = StringField("Name",
                       validators=[DataRequired(),
                                   Length(min=5, max=80)])
    description = StringField(
        "Description", validators=[DataRequired(),
                                   Length(min=5, max=256)])
    long_description = TextAreaField(
        "Long Description", validators=[DataRequired(),
                                        Length(min=5)])
    tags = StringField("Tags (comma separated)",
                       validators=[DataRequired(),
                                   Length(min=5)])
    demo_url = StringField("Demo Url",
                           validators=[DataRequired(),
                                       Length(min=5, max=256)])
    code_path = StringField(
        "Code Path", validators=[DataRequired(),
                                 Length(min=5, max=256)])
    price = FloatField("Price", validators=[DataRequired()])
    support_price = FloatField("Support Price", validators=[DataRequired()])
    release_date = DateField("Release Date", validators=[DataRequired()])
    last_update_date = DateField("Release Date", validators=[DataRequired()])
    image = FileField('Product Image (397x306)',
                      validators=[
                          FileRequired(),
                          FileAllowed(images, 'Images only allowed!')
                      ])
    images = MultipleFileField(
        'Product Screenshots (726x403)',
        validators=[DataRequired(),
                    FileAllowed(images, 'Images only!')])
示例#2
0
class DataForm(FlaskForm):
    age = IntegerField(u'Age',
                       validators=[InputRequired(),
                                   NumberRange(18, 100)],
                       render_kw={'um': 'years'})
    gender = SelectField(u'Gender',
                         choices=[('m', 'Male'), ('f', 'Female')],
                         validators=[InputRequired()])
    phys_exercise = IntegerField(
        u'Physical exercise',
        description=
        u'The number of days per week you perform physical exercise for a minimum of 30 minutes (on average).',
        validators=[InputRequired(), NumberRange(0, 7)],
        render_kw={'um': 'days'})
    wrist_function = SelectField(
        u'Reduced wrist function',
        choices=[('n', 'No'), ('y', 'Yes')],
        description=
        u'Wether or not you have reduced right wrist functionality.',
        validators=[InputRequired()])
    handedness = SelectField(u'Dominant hand',
                             choices=[('r', 'Right'), ('l', 'Left'),
                                      ('a', 'Ambidextrous')],
                             validators=[InputRequired()])
    wrist_circumference = FloatField(
        u'Wrist circumference',
        validators=[InputRequired(), NumberRange(10, 30)],
        render_kw={'um': 'cm'})
    arm_circumference = FloatField(
        u'Arm circumference',
        validators=[InputRequired(), NumberRange(10, 40)],
        render_kw={'um': 'cm'})

    submit = SubmitField(u'Start test')
示例#3
0
class FileSampleSearchForm(NoCSRFForm):
    md5sum = StringField('MD5 hash',
                         validators=[Optional(),
                                     Length(min=32, max=32)])
    sha1sum = StringField('SHA1 hash',
                          validators=[Optional(),
                                      Length(min=40, max=40)])
    sha256sum = StringField('SHA256 hash',
                            validators=[Optional(),
                                        Length(min=64, max=64)])
    sha512sum = StringField('SHA512 hash',
                            validators=[Optional(),
                                        Length(min=128, max=128)])
    mime_type = StringField(
        'Mime type',
        validators=[Optional(), Length(min=4)],
        description='<i>Examples: application/x-dosexec, text/xml</i>')
    file_names = StringField('File name',
                             validators=[Optional(), Length(min=4)])
    file_size__lte = IntegerField(
        'File size smaller than',
        validators=[Optional()],
        description='Enter file size in number of bytes')
    file_size__gte = IntegerField(
        'File size larger than',
        validators=[Optional()],
        description='Enter file size in number of bytes')
    shannon_entropy__lte = FloatField(
        'Shannon entropy smaller than',
        validators=[Optional(), NumberRange(min=0, max=8)],
        description='Enter floating point value between 0 and 8')
    shannon_entropy__gte = FloatField(
        'Shannon entropy larger than',
        validators=[Optional(), NumberRange(min=0, max=8)],
        description='Enter floating point value between 0 and 8')
示例#4
0
class ToneForm(FlaskForm):
    dic_code = IntegerField("体检项目编码")
    summary = StringField("体检项对应的健康状态描述")
    val = IntegerField("权重")
    lower_scope = FloatField("范围下限")
    upper_scope = FloatField("范围上限")
    submit = SubmitField("更新")
示例#5
0
class LugarForm(ValidationForm):

    nombre = StringField('nombre', [InputRequired(), ValidateUnique()])
    latitud = FloatField('latitud', [InputRequired(), ValidateUniques(['latitud', 'longitud'])])
    longitud = FloatField('longitud', [InputRequired()])
    es_de_entrenamiento = BooleanField('es_de_entrenamiento')
    es_outdoor = BooleanField('es_outdoor')
示例#6
0
class EditStudentProfile(Form):
    grade = SelectField(
        'Grade',
        choices=[('9', '9th Grade'), ('10', '10th Grade'),
                 ('11', '11th Grade'), ('12', '12th Grade')])
    high_school = StringField(
        'High School', validators=[InputRequired(),
                                   Length(1, 100)])
    phone_number = StringField(
        'Phone number', validators=[InputRequired()])
    graduation_year = IntegerField(
        'Graduation Year', validators=[InputRequired()])
    unweighted_gpa = FloatField('Unweighted GPA', validators=[InputRequired()])
    weighted_gpa = FloatField('Weighted GPA', validators=[Optional()])
    fafsa_status = SelectField(
        'FAFSA Status',
        choices=[('Incomplete', 'Incomplete'), ('Submitted', 'Submitted'),
                 ('In Progress', 'In Progress')])
    early_deadline = SelectField(
        'Have Early Deadline', choices=[('True', 'Yes'), ('False', 'No')])
    district = StringField(
        'District', validators=[InputRequired(),
                                Length(1, 100)])
    city = StringField('City', validators=[InputRequired(), Length(1, 100)])
    state = StringField('State', validators=[InputRequired(), Length(1, 100)])
    submit = SubmitField('Update Profile')
示例#7
0
class SettingsForm(FlaskForm):
    targets = SelectField(label="Select target", choices=[])
    skip_tree = BooleanField(
        label=(
            "Skip the core gene alignment and tree for visualization "
            "and troubleshooting"),
        default=False)
    work_offline = BooleanField(
            "Work offline with local genome assemblies", default=False)
    skip_download = BooleanField(
            "Skip the download of Genomes from NCBI", default=False)
    assemblylevel = SelectMultipleField(
        "Assembly level", choices=[
            ('all', "All"),
            ('complete', 'Complete'), ('chromosome', 'Chromosome'),
            ('scaffold', 'Scaffold'), ('contig', 'Contig')],
        validators=[DataRequired()])
    customdb = StringField(
            "Specify the path to a custom BLAST database", default=None)

    nolist = BooleanField(
            label=(
                "Species list is not used and only sequences without blast "
                "hits are used for primer design "),
            default=False)

    blastseqs = SelectField(
            "Maximal number of sequences per BLAST search", coerce=int,
            choices=[
                (100, "100"), (500, "500"), (1000, "1000"),
                (2000, "2000"), (5000, "5000")],
            default=1000)
    qc_gene = SelectMultipleField(
            "Gene(s) for BLAST search in the initial quality control step",
            choices=[
                ('rRNA', "16S rRNA"), ('tuf', "tuf"),
                ('recA', "recA"), ('dnaK', "dnaK"), ('pheS', "pheS")],
            validators=[DataRequired()])
    exception = FieldList(StringField(""), min_entries=1)
    minsize = IntegerField("Minimal Amplicon size", default=70)
    maxsize = IntegerField("Maximal Amplicon size", default=200)
    designprobe = BooleanField("Pick internal hybridization oligo")
    mfold = FloatField(
            "ΔG threshold for secondary structures in PCR products"
            " at 60°C calculated by mfold", default=-3.0)
    mpprimer = FloatField(
            "ΔG  threshold for 3'-end primer dimer binding", default=-3.5)
    mfeprimer_threshold = SelectField(
        "MFEprimer threshold for nontarget sequence PPC", coerce=int,
        choices=[
            (80, "80"), (85, "85"), (90, "90"), (95, "95"), (100, "100")],
        default=90)
    ignore_qc = BooleanField(
            "Include genomes that did not pass quality control")
    blastdbv5 = BooleanField("BLAST DB Version 5")
    intermediate = BooleanField("Do not delete intermediate files")
    change_wd = StringField(
            "Change path of the working directory", default="/primerdesign")
    submit = SubmitField("Submit settings")
    reset = SubmitField("Reset page")
示例#8
0
class FluctuationInputForm(FlaskForm):
    class Meta:
        csrf = False

    v_total = FloatField('Volume of a culture <i>(&mu;l)</i>, V<sub>tot</sub>',
                         [volume_value],
                         default=200)

    c_selective = MultiFloatAreaField(
        'Observed numbers of clones, C<sub>sel</sub>',
        [clones_numbers, int_values])
    d_selective = FloatField('Dilution factor, D<sub>sel</sub>',
                             [dilution_validator])
    v_selective = FloatField('Volume plated <i>(&mu;l)</i>, V<sub>sel</sub>',
                             [volume_value])

    c_complete = MultiFloatAreaField(
        'Observed numbers of clones, C<sub>com</sub>', [clones_numbers])
    d_complete = FloatField('Dilution factor, D<sub>com</sub>',
                            [dilution_validator])
    v_complete = FloatField('Volume plated <i>(&mu;l)</i>, V<sub>com</sub>',
                            [volume_value])

    submit = SubmitField('Calculate')

    def __repr__(self):
        c_sel = ';'.join(self.c_selective.raw_data[0].split())
        c_com = ';'.join(self.c_complete.raw_data[0].split())
        return 'V_tot={}|C_sel={}|D_sel={}|V_sel={}|C_com={}|D_com={}|V_com={}'.format(
            self.v_total.raw_data[0], c_sel, self.d_selective.raw_data[0],
            self.v_selective.raw_data[0], c_com, self.d_complete.raw_data[0],
            self.v_complete.raw_data[0])
示例#9
0
class MProductForm(FlaskForm):
    name = StringField('Product name',
                       validators=[InputRequired(),
                                   Length(1, 64)])
    images = MultipleFileField(
        'Product Images',
        validators=[InputRequired(),
                    FileAllowed(images, 'Images only!')])
    description = TextAreaField('Description', [InputRequired()])
    categories = QuerySelectMultipleField(
        'Categories',
        validators=[InputRequired()],
        get_label='name',
        query_factory=lambda: db.session.query(MCategory).order_by('order'))
    availability = BooleanField(u'Is it currently available?')
    min_order_quantity = IntegerField('Min number of units per order e.g 1',
                                      default=1)
    length = FloatField('Length in numbers only e.g 0.99')
    weight = FloatField('Weight in numbers only e.g 0.21')
    height = FloatField('Height in numbers only e.g 10')
    price = FloatField('Price, Figures only e.g 16.99')
    seller = QuerySelectField('Seller',
                              validators=[InputRequired()],
                              get_label='full_name',
                              query_factory=lambda: db.session.query(User).
                              filter_by(is_seller=True).order_by('first_name'))
    price_currency = QuerySelectField(
        'Price currency',
        validators=[InputRequired()],
        get_label='name',
        query_factory=lambda: db.session.query(MCurrency).order_by('name'))
    is_featured = BooleanField("Is Featured ?")
    lead_time = StringField('Delivery time')
    submit = SubmitField('Submit')
示例#10
0
class PlotbrowserForm(SubmitForm, StationsForm, DateForm, FileFormatForm,
                      HeaderdateForm, RIRVForm):
    """
    A web form for :func:`~polyfemos.front.main.plotbrowser`.
    """
    _choices = [(s, s) for s in userdef.sohpars(visibilities={1, 2, 3})]
    sohpar_names = SelectMultipleField(u'Sohpars', choices=_choices)

    decimate = BooleanField(u'Decimate', default="checked")
    ridv = BooleanField(u'Remove identical values', default="checked")
    track_len = BooleanField(u'Track data length', default="checked")

    aor = RadioField(u'Advanced outlier removal', choices=[
        ('null', 'None'),
        ('dtr', 'DTR'),
        ('sta', 'STALTA'),
        ('lip', 'Lipschitz'),
    ])

    dtr_maxdepth = IntegerField(u'maxdepth', default=0)
    dtr_scale = FloatField(u'scale', default=24000)
    dtr_medlim = FloatField(u'medlim', default=10)

    sta_nsta = IntegerField(u'nsta', default=3)
    sta_nlta = IntegerField(u'nlta', default=10)
    sta_threson = FloatField(u'threson', default=1.08)
    sta_thresoff = FloatField(u'thresoff', default=1.05)
    sta_offset = IntegerField(u'offset', default=40)

    lip_itern = IntegerField(u'itern', default=1)
    lip_klim = FloatField(u'klim', default=7e-5)
示例#11
0
文件: app.py 项目: ikwtif/flasktest
class ConcreteColumnForm(Form):
    betonkwaliteiten = list()
    dat = list()
    for k, v in CYLINDER_TO_CUBE_STRENGTHS.items():
        betonkwaliteiten.append(f'C{k}/{v}')
        dat.append(k)
    # TODO fix dat

    type = SelectField(label='type',
                       choices=list(zip(KOLOMTYPES, KOLOMTYPES)),
                       default='rechthoek')
    nodeboven = SelectField(label='Node boven',
                            choices=list(zip(NODES_BOVEN, NODES_BOVEN)),
                            default=NODES_BOVEN[0])
    veerconstantek1 = FloatField(label='Veerconstante k1', default=0.1)
    nodeonder = SelectField(label='Node onder',
                            choices=list(zip(NODES_BENEDEN, NODES_BENEDEN)),
                            default=NODES_BENEDEN[0])
    veerconstantek2 = FloatField(label='Veerconstante k2', default=0.1)
    betonkwaliteit = SelectField(label='betonkwaliteit',
                                 choices=list(
                                     zip(betonkwaliteiten, betonkwaliteiten)),
                                 default='C25/30')
    staalkwaliteit = IntegerField(label='staalkwaliteit', default=400)
    materiaalcoeff = FloatField(label='materiaalcoefficient', default=1.5)
    lengte = IntegerField(label='lengte', default=3000)
    breedte = IntegerField(label='breedte', default=140)
    breedte_2 = IntegerField(label='breedte', default=0)
    hoogte = IntegerField(label='hoogte', default=300)
    hoogte_2 = IntegerField(label='hoogte', default=0)
    radius = IntegerField(label='radius', default=0)
    langskracht = IntegerField(label='Nd', default=0)
    As0 = IntegerField(label='gekozen As0', default=226)
    As = IntegerField(label='gekozen As', default=226)
示例#12
0
class ThyroidtypedetectionForm(FlaskForm):
    age = DecimalField('age', validators=[DataRequired()])
    sex = BooleanField('sex', validators=[DataRequired()])
    on_thyroxine = BooleanField('on_thyroxine', validators=[DataRequired()])
    query_on_thyroxine = BooleanField('query_on_thyroxine',
                                      validators=[DataRequired()])
    antithyroid_medication = BooleanField('age', validators=[DataRequired()])
    sick = BooleanField('sick', validators=[DataRequired()])
    pregnant = BooleanField('pregnant', validators=[DataRequired()])
    thyroid_surgery = BooleanField('thyroid_surgery',
                                   validators=[DataRequired()])
    I131_treatment = BooleanField('I131_treatment',
                                  validators=[DataRequired()])
    query_hypothyroid = BooleanField('query_hypothyroid',
                                     validators=[DataRequired()])
    query_hyperthyroid = BooleanField('query_hyperthyroid',
                                      validators=[DataRequired()])
    lithium = BooleanField('lithium', validators=[DataRequired()])
    goitre = BooleanField('goitre', validators=[DataRequired()])
    tumor = BooleanField('tumor', validators=[DataRequired()])
    hypopituitary = BooleanField('hypopituitary', validators=[DataRequired()])
    psych = BooleanField('psych', validators=[DataRequired()])
    TSH = FloatField('TSH', validators=[DataRequired()])
    T3 = FloatField('T3', validators=[DataRequired()])
    TT4 = FloatField('TT4', validators=[DataRequired()])
    T4U = FloatField('T4U', validators=[DataRequired()])
    FTI = FloatField('FTI', validators=[DataRequired()])
    submit = SubmitField('Submit')
示例#13
0
class ocform(Form):
    a = FloatField("Strana a:",
                   validators=[InputRequired(message="vyzadovano")])
    b = FloatField("Strana b:",
                   validators=[InputRequired(message="vyzadovano")])
    obrazec = SelectField("Obrazec", choices=[("1", "Ctverec a"),\
                                              ("2", "Obdelnik ab"),\
                                              ("3", "Trojuhelnik abc")], default=1)
示例#14
0
class ocform(Form):
    a = FloatField("Strana a:", validators=[NumberRange(min=0, message="Hodnota vetsi"),\
                                                        InputRequired(message="vyzadovano")])
    b = FloatField("Strana a:", validators=[NumberRange(min=0, message="Hodnota vetsi"),\
                                                        InputRequired(message="vyzadovano")])
    obrazec = SelectField("Obrazec", choices=[(1, "Ctverec A"),\
                                              (2, "Obdelnik B"),\
                                              (3, "Trojuhelnuik ABC")], default=1)
示例#15
0
class ProductSkuForm(Form):
    serial_no = StringField(lazy_gettext('Serial No.'),
                            validators=[DataRequired()])
    sku_cover_id = IntegerField(lazy_gettext('Cover'), default=0)
    sale_price = FloatField(lazy_gettext('Sale Price'), default=0.00)
    s_model = StringField(lazy_gettext('Model'))
    s_weight = FloatField(lazy_gettext('Weight'), default=0.00)
    remark = TextAreaField(lazy_gettext('Remark'))
示例#16
0
class SingleResourceForm(Form):
    name = StringField('Name', validators=[InputRequired(), Length(1, 500)])
    address = StringField('Address',
                          validators=[InputRequired(),
                                      Length(1, 500)])
    latitude = FloatField('Latitude', validators=[InputRequired()])
    longitude = FloatField('Longitude', validators=[InputRequired()])
    submit = SubmitField('Save Resource')
class StandaloneObservationMixin:
    observing_session_id = HiddenField(default='false')
    target = StringField(lazy_gettext('Target'),
                         validators=[
                             InputRequired(),
                         ])
    date_from = DateTimeField(lazy_gettext('Date From'),
                              id='odate_from',
                              format='%d/%m/%Y %H:%M',
                              default=datetime.today,
                              validators=[
                                  InputRequired(),
                              ])
    date_to = DateTimeField(lazy_gettext('Date To'),
                            id='odate_from',
                            format='%d/%m/%Y %H:%M',
                            default=datetime.today,
                            validators=[
                                InputRequired(),
                            ])
    location = StringField(lazy_gettext('Location'),
                           validators=[
                               Length(max=256),
                           ])
    sqm = FloatField(lazy_gettext('Sqm'), validators=[Optional()])
    faintest_star = FloatField(lazy_gettext('Faintest Star'),
                               validators=[Optional()])
    seeing = SelectField(lazy_gettext('Seeing'),
                         choices=Seeing.choices(),
                         coerce=Seeing.coerce,
                         default=Seeing.AVERAGE)
    telescope = SelectField(lazy_gettext('Telescope'), coerce=int)
    eyepiece = SelectField(lazy_gettext('Eyepiece'), coerce=int)
    filter = SelectField(lazy_gettext('Filter'), coerce=int)
    notes = TextAreaField(lazy_gettext('Notes'))

    def validate_target(self, field):
        dsos, double_star, not_found = parse_observation_targets(
            self.target.data)
        if not_found:
            msg = lazy_gettext('Unknown targets:') + ','.join(not_found)
            self.target.errors.append(msg)
            return False
        return True

    def validate_location(self, field):
        if self.observing_session_id.data:
            return True
        return location_lonlat_check(self, field)

    def validate_date_from_to(self):
        if self.date_from.data and self.date_to.data and self.date_from.data > self.date_to.data:
            msg = lazy_gettext('Date from must be before date to.')
            self.date_from.errors.append(msg)
            msg = lazy_gettext('Date to must be after date from.')
            self.date_to.errors.append(msg)
            return False
        return True
示例#18
0
class formfiliph(Form):
    a = FloatField(
        "Strana a:",
        validators=[[NumberRange(min=0, message="Hodnota vetsi ZERO")],
                    [InputRequired(message="Hodnota povinna")]])
    b = FloatField(
        "Strana b:",
        validators=[[NumberRange(min=0, message="Hodnota vetsi ZERO")],
                    [InputRequired(message="Hodnota povinna")]])
示例#19
0
class SearchDoubleStarForm(FlaskForm):
    q = StringField('Search')
    mag_max = FloatField(lazy_gettext('Mag max'), default=12.0)
    delta_mag_min = FloatField(lazy_gettext('Delta mag min'), default=0.0)
    separation_min = FloatField(lazy_gettext('Separation min'), default=1.0)
    separation_max = FloatField(lazy_gettext('Separation max'), default=60.0)
    dec_min = FloatField(lazy_gettext('Dec min'), default=-35.0)
    constellation_id = IntegerField('Constellation', default=None)
    items_per_page = IntegerField(lazy_gettext('Items per page'))
示例#20
0
class formmikes(Form):
    a = FloatField("Strana a:",
                   validators=[
                       NumberRange(min=0, message="Hodnota vetsi nez 0"),
                       InputRequired(message="vyzadovano")
                   ])
    b = FloatField("Strana b:",
                   validators=[
                       NumberRange(min=0, message="Hodnota vetsi nez 0"),
                       InputRequired(message="vyzadovano")
                   ])
示例#21
0
class PosForm(FlaskForm):
    lat = FloatField('lat', validators=[InputRequired()])
    lon = FloatField('lon', validators=[InputRequired()])
    acc = FloatField('acc',
                     validators=[
                         InputRequired(),
                         NumberRange(max=40,
                                     message="You don't know where you are."),
                     ])

    def pos(self) -> tuple:
        return (self.lat.data, self.lon.data)
示例#22
0
class LocationForm(FlaskForm):
    lat = FloatField('Latitude', validators=[
        DataRequired(),
    ])
    lan = FloatField('Longitude', validators=[DataRequired()])
    timestamp = DateTimeLocalField(
        'Timestamp',
        validators=[DataRequired()],
        format=settings.DATETIME_FORMAT,
        render_kw={"placeholder": "30/12/2016 23:59:01"})
    user_id = SelectField('User', choices=get_users(), coerce=int)
    submit = SubmitField('Submit')
示例#23
0
class AddSensor(FlaskForm):
    name = StringField(label='传感器名称', validators=[DataRequired()])
    type = SelectField(label='传感器类型', coerce=int)
    about = TextAreaField(label='传感器描述', validators=[DataRequired()])
    unit = StringField(label='传感器单位', validators=[DataRequired()])
    max = FloatField(label='最大值')
    min = FloatField(label='最小值')
    submit = SubmitField(label='添加传感器')

    def __init__(self):
        super(AddSensor, self).__init__()
        self.type.choices = [(stype.id, stype.name)
                             for stype in Stype.query.all()]
示例#24
0
class UserProfileForm(FlaskForm):
    name = StringField('name', validators=[DataRequired()])
    surname = StringField('surname', validators=[DataRequired()])
    gender = SelectField('gender',
                         choices=[('Male', 'Male'), ('Female', 'Female')])
    email = StringField('email', validators=[DataRequired()])
    weight = FloatField('weight')
    height = FloatField('height')
    location = StringField('location')
    about_me = TextAreaField('about_me', validators=[Length(min=0, max=140)])
    photo = FileField(
        'photo',
        validators=[FileAllowed(['jpg', 'png', 'jpeg'], 'Images only')])
    password = PasswordField('password')
示例#25
0
文件: form.py 项目: anstones/yong
class AvatarSetForm(Form):
    '''
    :Variables:
      - `x`: 头像剪裁的起始x坐标
      - `y`: 头像剪裁的起始y坐标
      - `w`: 头像剪裁的宽度
      - `h`: 头像剪裁的高度
      - `target_width`: 浏览器前端对比宽度
    '''
    x = FloatField(validators=[InputRequired()])
    y = FloatField(validators=[InputRequired()])
    w = FloatField(validators=[InputRequired()])
    h = FloatField(validators=[InputRequired()])
    target_width = IntegerField(validators=[InputRequired()])
示例#26
0
class ObservingSessionMixin:
    title = StringField(lazy_gettext('Title'),
                        validators=[
                            InputRequired(),
                            Length(max=256),
                        ])
    rating = HiddenField(lazy_gettext('Rating'), default=0)
    date_from = DateTimeField(lazy_gettext('Date From'),
                              id='odate_from',
                              format='%d/%m/%Y %H:%M',
                              default=datetime.today,
                              validators=[
                                  InputRequired(),
                              ])
    date_to = DateTimeField(lazy_gettext('Date To'),
                            id='odate_from',
                            format='%d/%m/%Y %H:%M',
                            default=datetime.today,
                            validators=[
                                InputRequired(),
                            ])
    location = StringField(
        lazy_gettext('Location'),
        validators=[InputRequired(),
                    Length(max=256), location_lonlat_check])
    sqm = FloatField(lazy_gettext('Sqm'), validators=[Optional()])
    faintest_star = FloatField(lazy_gettext('Faintest Star'),
                               validators=[Optional()])
    seeing = SelectField(lazy_gettext('Seeing'),
                         choices=Seeing.choices(),
                         coerce=Seeing.coerce,
                         default=Seeing.AVERAGE)
    transparency = SelectField(lazy_gettext('Transparency'),
                               choices=Transparency.choices(),
                               coerce=Transparency.coerce,
                               default=Transparency.AVERAGE)
    weather = StringField(lazy_gettext('Weather'))
    equipment = StringField(lazy_gettext('Equipment'))
    notes = TextAreaField(lazy_gettext('Notes'))
    is_public = BooleanField(lazy_gettext('Plan is public'), default=False)

    def validate_date_from_to(self):
        if self.date_from.data and self.date_to.data and self.date_from.data > self.date_to.data:
            msg = lazy_gettext('Date from must be before date to.')
            self.date_from.errors.append(msg)
            msg = lazy_gettext('Date to must be after date from.')
            self.date_to.errors.append(msg)
            return False
        return True
示例#27
0
class VodBaseStreamForm(FlaskForm):
    AVAILABLE_VOD_TYPES = [(constants.VodType.VODS, 'VODS'),
                           (constants.VodType.SERIES, 'SERIES')]

    vod_type = SelectField('Vod type:',
                           validators=[InputRequired()],
                           choices=AVAILABLE_VOD_TYPES,
                           coerce=constants.VodType.coerce)

    description = StringField('Description:', validators=[])
    trailer_url = StringField('Trailer URL:',
                              validators=[
                                  InputRequired(),
                                  Length(min=constants.MIN_URL_LENGTH,
                                         max=constants.MAX_URL_LENGTH)
                              ])
    user_score = FloatField(
        'User score:',
        validators=[InputRequired(),
                    NumberRange(min=0, max=100)])
    prime_date = DateTimeField('Prime time:', validators=[InputRequired()])
    country = StringField('Country:',
                          validators=[
                              InputRequired(),
                              Length(min=constants.MIN_COUNTRY_LENGTH,
                                     max=constants.MAX_COUNTRY_LENGTH)
                          ])
    duration = IntegerField('Duration in (msec):',
                            validators=[
                                InputRequired(),
                                NumberRange(
                                    min=0,
                                    max=constants.MAX_VIDEO_DURATION_MSEC)
                            ])
示例#28
0
class EditForm(FlaskForm):
    name = StringField("Item Title",
                       validators=[InputRequired('Enter a Name')])
    model = StringField("Item model",
                        validators=[InputRequired('Enter a model name')])
    price = FloatField('Price',
                       validators=[InputRequired('Please enter valid Price')])
    category = SelectField("Category",
                           choices=[('CPU', 'CPU'), ('GPU', 'GPU'),
                                    ('Case', 'Case'), ('Memory', 'Memory'),
                                    ('Motherboard', 'Motherboard'),
                                    ('CPU Cooler', 'CPU Cooler'),
                                    ('Storage', 'Storage'),
                                    ('Peripherals', 'Peripherals'),
                                    ('Power Supply', 'Power Supply')])
    description = TextAreaField("Description",
                                validators=[InputRequired('Enter a Name')])
    quality = SelectField("Quality",
                          choices=[('New', 'New'),
                                   ('Used/Excelent', 'Used/Excelent'),
                                   ('Used/Good', 'Used/Good'),
                                   ('Used/Moderate', 'Used/Moderate'),
                                   ('Used/Needs Repairs5',
                                    'Used/Needs Repairs')])
    image = FileField("Product Image:",
                      validators=[
                          FileAllowed(
                              ALLOWED_FILE,
                              message='Only support png, jpg, JPG, PNG, bmp')
                      ])
    submit = SubmitField("Edit")
示例#29
0
class AddExpenseDetailsForm(Form):
    '''
    wtform for adding expense
    '''
    category = StringField(validators=[Length(3, 80)])
    amount = FloatField()
    description = StringField(validators=[Length(0, 100)])
示例#30
0
class ReturnForm(FlaskForm):
    book = StringField('book',validators=[DataRequired()])
    return_approved = SubmitField('Marcar como devuelto')
    rating = FloatField('rating')
    user = StringField('user')
    denegated = SubmitField('Cancelar')
    giveback = SubmitField('Devolver')