from flask_wtf import FlaskForm as Form from flask_wtf.file import FileField from wtforms.fields import IntegerField, FloatField from wtforms import validators from app_common.fields import PercentageField, DollarAmountField class HpiValuePredictForm(Form): default_risks = FileField('Default Risk CSV') example_homes = FileField('Example Homes CSV') pool_makeup = FileField('Pool Makeup CSV') hpi_accrual_rate = FileField('HPI Accrual Rate CSV') risk_pool_take_percent = PercentageField('Risk Pool Allocation', default=0.01, places=2, validators=[validators.Optional(), validators.NumberRange(min=0.0025, max=0.10)]) tic_fee = PercentageField('TIC Fee', default=0.04, places=2, validators=[validators.Optional(), validators.NumberRange(min=0.01, max=0.10)]) number_of_homes = IntegerField('Total Number of Homes', default=200, validators=[validators.NumberRange(min=100)]) class MREForm(Form): occupant_fico = IntegerField('Occupant PICO Score', default=640, validators=[validators.Required(), validators.NumberRange(min=620, max=850)]) occupant_income = DollarAmountField('Occupant Income', default=50000, validators=[validators.Optional()]) home_price = DollarAmountField('Home Purchase Price', default=250000.00, validators=[validators.Required()]) default_rates = FileField('Default Rate File') risk_pool_makeup = FileField('Risk Pool Makeup')