Пример #1
0
class PIDModValueLower(FlaskForm):
    lower_min_amount = DecimalField(lazy_gettext('Min Amount (Lower)'),
                                    widget=NumberInput(step='any'))
    lower_max_amount = DecimalField(lazy_gettext('Max Amount (Lower)'),
                                    widget=NumberInput(step='any'))
Пример #2
0
class MeasurementEntry(FlaskForm):
    value = DecimalField(validators=[DataRequired()])

    def __init__(self, csrf_enabled=False, *args, **kwargs):
        super(MeasurementEntry, self).__init__(csrf_enabled=csrf_enabled,
                                               *args, **kwargs)
Пример #3
0
class DashboardMeasurement(FlaskForm):
    measurement_id = StringField(lazy_gettext('Measurement'))
    max_measure_age = IntegerField(lazy_gettext('Max Age (seconds)'))
    font_em_value = DecimalField(lazy_gettext('Value Font (em)'))
    font_em_timestamp = DecimalField(lazy_gettext('Timestamp Font (em)'))
    decimal_places = IntegerField(lazy_gettext('Decimal Places'))
Пример #4
0
class FilterForm(FlaskForm):
	address = StringField('Address')
	radius = DecimalField('Radius')
	incident_type = SelectMultipleField('Incident Type', choices=[('animal','Animal'),('flood','Flooding'),('fire','Fire')])
Пример #5
0
class MemberAccountForm(FlaskForm):
    """Form to display member account details, like TAV, etc."""

    tav = DecimalField("TAV")
    remit_date = DateField("Last Remittance")
    remit_amount = DecimalField("")
Пример #6
0
class InputDiagnosisData(FlaskForm):
    radius_mean = DecimalField('Radius Mean', validators = [DataRequired(), InputRequired()])
    texture_mean = DecimalField('Texture Mean', validators = [DataRequired(), InputRequired()])
    perimeter_mean = DecimalField('Perimeter Mean', validators = [DataRequired(), InputRequired()])
    area_mean = DecimalField('Area Mean', validators = [DataRequired(), InputRequired()])
    smoothness_mean = DecimalField('Smoothness Mean', validators = [DataRequired(), InputRequired()])
    compactness_mean = DecimalField('Compactness Mean', validators = [DataRequired(), InputRequired()])
    concavity_mean = DecimalField('Concavity Mean', validators = [DataRequired(), InputRequired()])
    concave_points_mean = DecimalField('Concave Points Mean', validators = [DataRequired(), InputRequired()])
    symmetry_mean = DecimalField('Symmetry Mean', validators = [DataRequired(), InputRequired()])
    fractal_dimension_mean = DecimalField('Fractal Dimension Mean', validators = [DataRequired(), InputRequired()])
    radius_se = DecimalField('Radius SE', validators = [DataRequired(), InputRequired()])
    texture_se = DecimalField('Texture SE', validators = [DataRequired(), InputRequired()])
    perimeter_se = DecimalField('Perimeter SE', validators = [DataRequired(), InputRequired()])
    area_se = DecimalField('Area SE', validators = [DataRequired(), InputRequired()])
    smoothness_se = DecimalField('Smoothness SE', validators = [DataRequired(), InputRequired()])
    compactness_se = DecimalField('Compactness SE', validators = [DataRequired(), InputRequired()])
    concavity_se = DecimalField('Concavity SE', validators = [DataRequired(), InputRequired()])
    concave_points_se = DecimalField('Concave Points SE', validators = [DataRequired(), InputRequired()])
    symmetry_se = DecimalField('Symmetry SE', validators = [DataRequired(), InputRequired()])
    fractal_dimension_se = DecimalField('Fractal Dimension SE', validators = [DataRequired(), InputRequired()])
    radius_worst = DecimalField('Radius Worst', validators = [DataRequired(), InputRequired()])
    texture_worst = DecimalField('Texture Worst', validators = [DataRequired(), InputRequired()])
    perimeter_worst = DecimalField('Perimeter Worst', validators = [DataRequired(), InputRequired()])
    area_worst = DecimalField('Area Worst', validators = [DataRequired(), InputRequired()])
    smoothness_worst = DecimalField('Smoothness Worst', validators = [DataRequired(), InputRequired()])
    compactness_worst = DecimalField('Compactness Worst', validators = [DataRequired(), InputRequired()])
    concavity_worst = DecimalField('Concavity Worst', validators = [DataRequired(), InputRequired()])
    concave_points_worst = DecimalField('Concave Radius Mean', validators = [DataRequired(), InputRequired()])
    symmetry_worst = DecimalField('Radius Mean', validators = [DataRequired(), InputRequired()])
    fractal_dimension_worst = DecimalField('Radius Mean', validators = [DataRequired(), InputRequired()])


    submit = SubmitField('Submit')

    def validateIsDecimal(self, form, field):
        if not isinstance(field.data, float):
            raise ValidationError("Field must be a float")
Пример #7
0
class FeaturesForm(FlaskForm):
    crim = DecimalField('CRIM', validators=[InputRequired()])
    zn = DecimalField('ZN', validators=[InputRequired()])
    indus = DecimalField('INDUS', validators=[InputRequired()])
    chas = IntegerField('CHAS', validators=[InputRequired()])
    nox = DecimalField('NOX', validators=[InputRequired()])
    rm = DecimalField('RM', validators=[InputRequired()])
    age = DecimalField('AGE', validators=[InputRequired()])
    dis = DecimalField('DIS', validators=[InputRequired()])
    rad = IntegerField('RAD', validators=[InputRequired()])
    tax = DecimalField('TAX', validators=[InputRequired()])
    ptratio = DecimalField('PTRATIO', validators=[InputRequired()])
    b = DecimalField('B', validators=[InputRequired()])
    lstat = DecimalField('LSTAT', validators=[InputRequired()])
Пример #8
0
class ProductForm(NameForm):
    price = DecimalField(
        "Price", validators=[InputRequired(),
                             NumberRange(min=Decimal('0.0'))])
    company = CompanyField("Company", validators=[InputRequired()], coerce=int)
    image = FileField("Product Image", validators=[FileRequired()])
Пример #9
0
class RoundForms(FlaskForm):
    name_of_the_round = StringField("Enter the name of the round")
    submit_round_name = SubmitField("Round name' Ok")
    submit_list_of_matches = SubmitField("List of matches is Ok")
    score_of_the_match = DecimalField("Enter the score at the match", places=1)
    submit_round = SubmitField("Submit scores")
Пример #10
0
class DepositForm(Form):
    amount = DecimalField('euro',
                          validators=[DataRequired(),
                                      NumberRange(0, 1000000)],
                          places=12,
                          rounding=2)
Пример #11
0
class AnswerForm(FlaskForm):
    answer = DecimalField("Your answer", validators=[DataRequired()])
    submit = SubmitField("Submit Answer")
Пример #12
0
class ListingForm(Form):
    name = StringField('name', validators=[DataRequired()])
    description = TextAreaField('description', validators=[DataRequired()])
    price = DecimalField('price', validators=[DataRequired()])
Пример #13
0
class CreateMoneyForm(FlaskForm):
    money = DecimalField('充值金额', validators=[DataRequired()], places=2)
    submit = SubmitField('充值')
Пример #14
0
class PIDModBase(FlaskForm):
    function_id = StringField('Function ID', widget=widgets.HiddenInput())
    function_type = StringField('Function Type', widget=widgets.HiddenInput())
    name = StringField(TRANSLATIONS['name']['title'],
                       validators=[DataRequired()])
    measurement = StringField(TRANSLATIONS['measurement']['title'],
                              validators=[DataRequired()])
    direction = SelectField(lazy_gettext('Direction'),
                            choices=[('raise', lazy_gettext('Raise')),
                                     ('lower', lazy_gettext('Lower')),
                                     ('both', lazy_gettext('Both'))],
                            validators=[DataRequired()])
    period = DecimalField(
        TRANSLATIONS['period']['title'],
        validators=[validators.NumberRange(min=1, max=86400)],
        widget=NumberInput(step='any'))
    log_level_debug = BooleanField(TRANSLATIONS['log_level_debug']['title'])
    start_offset = DecimalField(TRANSLATIONS['start_offset']['title'],
                                widget=NumberInput(step='any'))
    max_measure_age = DecimalField(
        TRANSLATIONS['max_age']['title'],
        validators=[validators.NumberRange(min=1, max=86400)],
        widget=NumberInput(step='any'))
    setpoint = DecimalField(
        TRANSLATIONS['setpoint']['title'],
        validators=[validators.NumberRange(min=-1000000, max=1000000)],
        widget=NumberInput(step='any'))
    band = DecimalField(lazy_gettext('Band (+/- Setpoint)'),
                        widget=NumberInput(step='any'))
    send_lower_as_negative = BooleanField(
        lazy_gettext('Send Lower as Negative'))
    store_lower_as_negative = BooleanField(
        lazy_gettext('Store Lower as Negative'))
    k_p = DecimalField(lazy_gettext('Kp Gain'),
                       validators=[validators.NumberRange(min=0)],
                       widget=NumberInput(step='any'))
    k_i = DecimalField(lazy_gettext('Ki Gain'),
                       validators=[validators.NumberRange(min=0)],
                       widget=NumberInput(step='any'))
    k_d = DecimalField(lazy_gettext('Kd Gain'),
                       validators=[validators.NumberRange(min=0)],
                       widget=NumberInput(step='any'))
    integrator_max = DecimalField(lazy_gettext('Integrator Min'),
                                  widget=NumberInput(step='any'))
    integrator_min = DecimalField(lazy_gettext('Integrator Max'),
                                  widget=NumberInput(step='any'))
    raise_output_id = StringField(lazy_gettext('Output (Raise)'))
    raise_output_type = StringField(lazy_gettext('Action (Raise)'))
    lower_output_id = StringField(lazy_gettext('Output (Lower)'))
    lower_output_type = StringField(lazy_gettext('Action (Lower)'))
    setpoint_tracking_type = StringField(
        TRANSLATIONS['setpoint_tracking_type']['title'])
    setpoint_tracking_method_id = StringField('Setpoint Tracking Method')
    setpoint_tracking_input_math_id = StringField('Setpoint Tracking Input')
    setpoint_tracking_max_age = DecimalField('Max Age (seconds)',
                                             validators=[Optional()],
                                             widget=NumberInput(step='any'))
    pid_hold = SubmitField(lazy_gettext('Hold'))
    pid_pause = SubmitField(lazy_gettext('Pause'))
    pid_resume = SubmitField(lazy_gettext('Resume'))
Пример #15
0
class MenuForm(FlaskForm):
    meal_name = StringField('Name', validators=[DataRequired(), Length(max=50)])
    meal_price = DecimalField('Price', validators=[DataRequired()])
    meal_description = TextAreaField('Description')
    meal_special = BooleanField('Special')
    submit =  SubmitField("Submit")
Пример #16
0
class ItemUpdateForm(FlaskForm):
    name = StringField('Name', validators=[DataRequired()])
    price = DecimalField('Price', validators=[DataRequired(message='Please enter a proper decimal number'), NumberRange(min=1, message='The price should be atleast 1')])
    image = FileField('Add Image (Leave blank to keep current image)', validators=[FileAllowed(['jpg', 'png'])])
    percentage_off = IntegerField('Percentage Off', validators=[NumberRange(min=0, max=99, message='Enter a number between 0 and 99')], default=0)
    submit = SubmitField('Update')
Пример #17
0
class PartsForm(FlaskForm):
    part_name = StringField('Name', validators=[DataRequired(), Length(max=50)])
    part_price = DecimalField('Price', validators=[DataRequired()])
    image = FileField('Image')
    submit =  SubmitField("Submit")
Пример #18
0
class ItemForm(FlaskForm):
    name = StringField('Name', validators=[DataRequired()])
    price = DecimalField('Price', validators=[DataRequired(message='Please enter a proper decimal number'), NumberRange(min=1, message='The price should be atleast 1')])
    image = FileField('Add Image (Leave blank to use default image)', validators=[FileAllowed(['jpg', 'png'])])
    submit = SubmitField('Add')
Пример #19
0
    def __init__(self, viz):
        self.viz = viz
        from caravel.viz import viz_types
        viz = self.viz
        datasource = viz.datasource
        if not datasource.metrics_combo:
            raise Exception("Please define at least one metric for your table")
        default_metric = datasource.metrics_combo[0][0]

        gb_cols = datasource.groupby_column_names
        default_groupby = gb_cols[0] if gb_cols else None
        group_by_choices = self.choicify(gb_cols)
        # Pool of all the fields that can be used in Caravel
        self.field_dict = {
            'viz_type':
            SelectField('Viz',
                        default='table',
                        choices=[(k, v.verbose_name)
                                 for k, v in viz_types.items()],
                        description="The type of visualization to display"),
            'metrics':
            SelectMultipleSortableField(
                'Metrics',
                choices=datasource.metrics_combo,
                default=[default_metric],
                description="One or many metrics to display"),
            'metric':
            SelectField('Metric',
                        choices=datasource.metrics_combo,
                        default=default_metric,
                        description="Chose the metric"),
            'stacked_style':
            SelectField('Chart Style',
                        choices=self.choicify(['stack', 'stream', 'expand']),
                        default='stack',
                        description=""),
            'linear_color_scheme':
            SelectField('Color Scheme',
                        choices=self.choicify([
                            'fire', 'blue_white_yellow', 'white_black',
                            'black_white'
                        ]),
                        default='blue_white_yellow',
                        description=""),
            'normalize_across':
            SelectField(
                'Normalize Across',
                choices=self.choicify(['heatmap', 'x', 'y']),
                default='heatmap',
                description=("Color will be rendered based on a ratio "
                             "of the cell against the sum of across this "
                             "criteria")),
            'horizon_color_scale':
            SelectField('Color Scale',
                        choices=self.choicify(['series', 'overall', 'change']),
                        default='series',
                        description="Defines how the color are attributed."),
            'canvas_image_rendering':
            SelectField(
                'Rendering',
                choices=(
                    ('pixelated', 'pixelated (Sharp)'),
                    ('auto', 'auto (Smooth)'),
                ),
                default='pixelated',
                description=(
                    "image-rendering CSS attribute of the canvas object that "
                    "defines how the browser scales up the image")),
            'xscale_interval':
            SelectField(
                'XScale Interval',
                choices=self.choicify(range(1, 50)),
                default='1',
                description=("Number of step to take between ticks when "
                             "printing the x scale")),
            'yscale_interval':
            SelectField(
                'YScale Interval',
                choices=self.choicify(range(1, 50)),
                default='1',
                description=("Number of step to take between ticks when "
                             "printing the y scale")),
            'bar_stacked':
            BetterBooleanField('Stacked Bars', default=False, description=""),
            'include_series':
            BetterBooleanField('Include Series',
                               default=False,
                               description="Include series name as an axis"),
            'secondary_metric':
            SelectField('Color Metric',
                        choices=datasource.metrics_combo,
                        default=default_metric,
                        description="A metric to use for color"),
            'country_fieldtype':
            SelectField(
                'Country Field Type',
                default='cca2',
                choices=(
                    ('name', 'Full name'),
                    ('cioc', 'code International Olympic Committee (cioc)'),
                    ('cca2', 'code ISO 3166-1 alpha-2 (cca2)'),
                    ('cca3', 'code ISO 3166-1 alpha-3 (cca3)'),
                ),
                description=(
                    "The country code standard that Caravel should expect "
                    "to find in the [country] column")),
            'groupby':
            SelectMultipleSortableField(
                'Group by',
                choices=self.choicify(datasource.groupby_column_names),
                description="One or many fields to group by"),
            'columns':
            SelectMultipleSortableField(
                'Columns',
                choices=self.choicify(datasource.groupby_column_names),
                description="One or many fields to pivot as columns"),
            'all_columns':
            SelectMultipleSortableField('Columns',
                                        choices=self.choicify(
                                            datasource.column_names),
                                        description="Columns to display"),
            'all_columns_x':
            SelectField('X',
                        choices=self.choicify(datasource.column_names),
                        description="Columns to display"),
            'all_columns_y':
            SelectField('Y',
                        choices=self.choicify(datasource.column_names),
                        description="Columns to display"),
            'druid_time_origin':
            FreeFormSelectField(
                'Origin',
                choices=(
                    ('', 'default'),
                    ('now', 'now'),
                ),
                default='',
                description=
                ("Defines the origin where time buckets start, "
                 "accepts natural dates as in 'now', 'sunday' or '1970-01-01'"
                 )),
            'granularity':
            FreeFormSelectField(
                'Time Granularity',
                default="one day",
                choices=self.choicify([
                    'all',
                    '5 seconds',
                    '30 seconds',
                    '1 minute',
                    '5 minutes',
                    '1 hour',
                    '6 hour',
                    '1 day',
                    '7 days',
                ]),
                description=
                ("The time granularity for the visualization. Note that you "
                 "can type and use simple natural language as in '10 seconds', "
                 "'1 day' or '56 weeks'")),
            'domain_granularity':
            SelectField(
                'Domain',
                default="month",
                choices=self.choicify([
                    'hour',
                    'day',
                    'week',
                    'month',
                    'year',
                ]),
                description=("The time unit used for the grouping of blocks")),
            'subdomain_granularity':
            SelectField(
                'Subdomain',
                default="day",
                choices=self.choicify([
                    'min',
                    'hour',
                    'day',
                    'week',
                    'month',
                ]),
                description=
                ("The time unit for each block. Should be a smaller unit than "
                 "domain_granularity. Should be larger or equal to Time Grain"
                 )),
            'link_length':
            FreeFormSelectField('Link Length',
                                default="200",
                                choices=self.choicify([
                                    '10',
                                    '25',
                                    '50',
                                    '75',
                                    '100',
                                    '150',
                                    '200',
                                    '250',
                                ]),
                                description="Link length in the force layout"),
            'charge':
            FreeFormSelectField('Charge',
                                default="-500",
                                choices=self.choicify([
                                    '-50',
                                    '-75',
                                    '-100',
                                    '-150',
                                    '-200',
                                    '-250',
                                    '-500',
                                    '-1000',
                                    '-2500',
                                    '-5000',
                                ]),
                                description="Charge in the force layout"),
            'granularity_sqla':
            SelectField(
                'Time Column',
                default=datasource.main_dttm_col or datasource.any_dttm_col,
                choices=self.choicify(datasource.dttm_cols),
                description=(
                    "The time column for the visualization. Note that you "
                    "can define arbitrary expression that return a DATETIME "
                    "column in the table editor. Also note that the "
                    "filter bellow is applied against this column or "
                    "expression")),
            'resample_rule':
            FreeFormSelectField('Resample Rule',
                                default='',
                                choices=self.choicify(
                                    ('1T', '1H', '1D', '7D', '1M', '1AS')),
                                description=("Pandas resample rule")),
            'resample_how':
            FreeFormSelectField('Resample How',
                                default='',
                                choices=self.choicify(
                                    ('', 'mean', 'sum', 'median')),
                                description=("Pandas resample how")),
            'resample_fillmethod':
            FreeFormSelectField('Resample Fill Method',
                                default='',
                                choices=self.choicify(('', 'ffill', 'bfill')),
                                description=("Pandas resample fill method")),
            'since':
            FreeFormSelectField(
                'Since',
                default="7 days ago",
                choices=self.choicify([
                    '1 hour ago', '12 hours ago', '1 day ago', '7 days ago',
                    '28 days ago', '90 days ago', '1 year ago'
                ]),
                description=
                ("Timestamp from filter. This supports free form typing and "
                 "natural language as in '1 day ago', '28 days' or '3 years'"
                 )),
            'until':
            FreeFormSelectField('Until',
                                default="now",
                                choices=self.choicify([
                                    'now', '1 day ago', '7 days ago',
                                    '28 days ago', '90 days ago', '1 year ago'
                                ])),
            'max_bubble_size':
            FreeFormSelectField('Max Bubble Size',
                                default="25",
                                choices=self.choicify([
                                    '5',
                                    '10',
                                    '15',
                                    '25',
                                    '50',
                                    '75',
                                    '100',
                                ])),
            'whisker_options':
            FreeFormSelectField(
                'Whisker/outlier options',
                default="Tukey",
                description=(
                    "Determines how whiskers and outliers are calculated."),
                choices=self.choicify([
                    'Tukey',
                    'Min/max (no outliers)',
                    '2/98 percentiles',
                    '9/91 percentiles',
                ])),
            'treemap_ratio':
            DecimalField(
                'Ratio',
                default=0.5 * (1 + math.sqrt(5)),  # d3 default, golden ratio
                description='Target aspect ratio for treemap tiles.',
            ),
            'number_format':
            FreeFormSelectField('Number format',
                                default='.3s',
                                choices=[
                                    ('.3s', '".3s" | 12.3k'),
                                    ('.3%', '".3%" | 1234543.210%'),
                                    ('.4r', '".4r" | 12350'),
                                    ('.3f', '".3f" | 12345.432'),
                                    ('+,', '"+," | +12,345.4321'),
                                    ('$,.2f', '"$,.2f" | $12,345.43'),
                                ],
                                description="D3 format syntax for numbers "
                                "https://github.com/mbostock/\n"
                                "d3/wiki/Formatting"),
            'row_limit':
            FreeFormSelectField('Row limit',
                                default=config.get("ROW_LIMIT"),
                                choices=self.choicify([
                                    10, 50, 100, 250, 500, 1000, 5000, 10000,
                                    50000
                                ])),
            'limit':
            FreeFormSelectField(
                'Series limit',
                choices=self.choicify(self.series_limits),
                default=50,
                description=(
                    "Limits the number of time series that get displayed")),
            'rolling_type':
            SelectField(
                'Rolling',
                default='None',
                choices=[(s, s)
                         for s in ['None', 'mean', 'sum', 'std', 'cumsum']],
                description=(
                    "Defines a rolling window function to apply, works along "
                    "with the [Periods] text box")),
            'rolling_periods':
            IntegerField(
                'Periods',
                validators=[validators.optional()],
                description=(
                    "Defines the size of the rolling window function, "
                    "relative to the time granularity selected")),
            'series':
            SelectField(
                'Series',
                choices=group_by_choices,
                default=default_groupby,
                description=(
                    "Defines the grouping of entities. "
                    "Each serie is shown as a specific color on the chart and "
                    "has a legend toggle")),
            'entity':
            SelectField(
                'Entity',
                choices=group_by_choices,
                default=default_groupby,
                description="This define the element to be plotted on the chart"
            ),
            'x':
            SelectField('X Axis',
                        choices=datasource.metrics_combo,
                        default=default_metric,
                        description="Metric assigned to the [X] axis"),
            'y':
            SelectField('Y Axis',
                        choices=datasource.metrics_combo,
                        default=default_metric,
                        description="Metric assigned to the [Y] axis"),
            'size':
            SelectField('Bubble Size',
                        default=default_metric,
                        choices=datasource.metrics_combo),
            'url':
            TextField(
                'URL',
                description=(
                    "The URL, this field is templated, so you can integrate "
                    "{{ width }} and/or {{ height }} in your URL string."),
                default='https://www.youtube.com/embed/JkI5rg_VcQ4',
            ),
            'where':
            TextField(
                'Custom WHERE clause',
                default='',
                description=(
                    "The text in this box gets included in your query's WHERE "
                    "clause, as an AND to other criteria. You can include "
                    "complex expression, parenthesis and anything else "
                    "supported by the backend it is directed towards.")),
            'having':
            TextField(
                'Custom HAVING clause',
                default='',
                description=(
                    "The text in this box gets included in your query's HAVING"
                    " clause, as an AND to other criteria. You can include "
                    "complex expression, parenthesis and anything else "
                    "supported by the backend it is directed towards.")),
            'compare_lag':
            TextField(
                'Comparison Period Lag',
                description=("Based on granularity, number of time periods to "
                             "compare against")),
            'compare_suffix':
            TextField(
                'Comparison suffix',
                description="Suffix to apply after the percentage display"),
            'table_timestamp_format':
            FreeFormSelectField('Table Timestamp Format',
                                default='smart_date',
                                choices=TIMESTAMP_CHOICES,
                                description="Timestamp Format"),
            'series_height':
            FreeFormSelectField('Series Height',
                                default=25,
                                choices=self.choicify(
                                    [10, 25, 40, 50, 75, 100, 150, 200]),
                                description="Pixel height of each series"),
            'x_axis_format':
            FreeFormSelectField('X axis format',
                                default='smart_date',
                                choices=TIMESTAMP_CHOICES,
                                description="D3 format syntax for y axis "
                                "https://github.com/mbostock/\n"
                                "d3/wiki/Formatting"),
            'y_axis_format':
            FreeFormSelectField('Y axis format',
                                default='.3s',
                                choices=[
                                    ('.3s', '".3s" | 12.3k'),
                                    ('.3%', '".3%" | 1234543.210%'),
                                    ('.4r', '".4r" | 12350'),
                                    ('.3f', '".3f" | 12345.432'),
                                    ('+,', '"+," | +12,345.4321'),
                                    ('$,.2f', '"$,.2f" | $12,345.43'),
                                ],
                                description="D3 format syntax for y axis "
                                "https://github.com/mbostock/\n"
                                "d3/wiki/Formatting"),
            'markup_type':
            SelectField("Markup Type",
                        choices=self.choicify(['markdown', 'html']),
                        default="markdown",
                        description="Pick your favorite markup language"),
            'rotation':
            SelectField("Rotation",
                        choices=[(s, s) for s in ['random', 'flat', 'square']],
                        default="random",
                        description="Rotation to apply to words in the cloud"),
            'line_interpolation':
            SelectField("Line Style",
                        choices=self.choicify([
                            'linear', 'basis', 'cardinal', 'monotone',
                            'step-before', 'step-after'
                        ]),
                        default='linear',
                        description="Line interpolation as defined by d3.js"),
            'code':
            TextAreaField("Code", description="Put your code here",
                          default=''),
            'pandas_aggfunc':
            SelectField(
                "Aggregation function",
                choices=self.choicify(
                    ['sum', 'mean', 'min', 'max', 'median', 'stdev', 'var']),
                default='sum',
                description=("Aggregate function to apply when pivoting and "
                             "computing the total rows and columns")),
            'size_from':
            TextField(
                "Font Size From",
                default="20",
                description="Font size for the smallest value in the list"),
            'size_to':
            TextField(
                "Font Size To",
                default="150",
                description="Font size for the biggest value in the list"),
            'show_brush':
            BetterBooleanField(
                "Range Filter",
                default=False,
                description=(
                    "Whether to display the time range interactive selector")),
            'show_datatable':
            BetterBooleanField(
                "Data Table",
                default=False,
                description="Whether to display the interactive data table"),
            'include_search':
            BetterBooleanField(
                "Search Box",
                default=False,
                description=("Whether to include a client side search box")),
            'show_bubbles':
            BetterBooleanField(
                "Show Bubbles",
                default=False,
                description=(
                    "Whether to display bubbles on top of countries")),
            'show_legend':
            BetterBooleanField(
                "Legend",
                default=True,
                description="Whether to display the legend (toggles)"),
            'x_axis_showminmax':
            BetterBooleanField(
                "X bounds",
                default=True,
                description=(
                    "Whether to display the min and max values of the X axis"
                )),
            'rich_tooltip':
            BetterBooleanField(
                "Rich Tooltip",
                default=True,
                description=(
                    "The rich tooltip shows a list of all series for that"
                    " point in time")),
            'y_axis_zero':
            BetterBooleanField(
                "Y Axis Zero",
                default=False,
                description=(
                    "Force the Y axis to start at 0 instead of the minimum "
                    "value")),
            'y_log_scale':
            BetterBooleanField("Y Log",
                               default=False,
                               description="Use a log scale for the Y axis"),
            'x_log_scale':
            BetterBooleanField("X Log",
                               default=False,
                               description="Use a log scale for the X axis"),
            'donut':
            BetterBooleanField("Donut",
                               default=False,
                               description="Do you want a donut or a pie?"),
            'contribution':
            BetterBooleanField(
                "Contribution",
                default=False,
                description="Compute the contribution to the total"),
            'num_period_compare':
            IntegerField(
                "Period Ratio",
                default=None,
                validators=[validators.optional()],
                description=("[integer] Number of period to compare against, "
                             "this is relative to the granularity selected")),
            'time_compare':
            TextField("Time Shift",
                      default="",
                      description=(
                          "Overlay a timeseries from a "
                          "relative time period. Expects relative time delta "
                          "in natural language (example: 24 hours, 7 days, "
                          "56 weeks, 365 days")),
            'subheader':
            TextField(
                'Subheader',
                description=("Description text that shows up below your Big "
                             "Number")),
        }
Пример #20
0
class ReqresetnumForm(FlaskForm):
    num = DecimalField('Enter Code', validators=[DataRequired()])
    Submit = SubmitField('submit')
Пример #21
0
class PriceForm(Form):
    name = StringField(
        'Nazwa',
        [
            InputRequired('Podaj nazwę'),
            Length(min=3,
                   max=200,
                   message='Długość nazwy musi zawierać się '
                   'w przedziale %(min)d-%(max)d'),
        ],
        filters=[strip_filter],
    )

    category = SelectField('Kategoria', choices=CATEGORIES)

    unit = StringField(
        'Jednostka',
        [
            InputRequired('Podaj jednostkę'),
            Length(min=1,
                   max=10,
                   message='Długość jednostki musi zawierać się '
                   'w przedziale %(min)d-%(max)d'),
        ],
        filters=[strip_filter],
    )

    cost = DecimalField('Cena')

    currency = SelectField('Waluta', choices=CURRENCIES)

    company = StringField(
        'Firma',
        [
            InputRequired('Podaj nazwę firmy'),
            Length(min=3,
                   max=100,
                   message='Długość firmy musi zawierać się '
                   'w przedziale %(min)d-%(max)d'),
        ],
        filters=[strip_filter],
    )

    project = StringField(
        'Projekt',
        [
            InputRequired('Podaj projekt'),
            Length(min=3,
                   max=100,
                   message='Długość projektu musi zawierać się '
                   'w przedziale %(min)d-%(max)d'),
        ],
        filters=[strip_filter],
    )

    city = StringField(
        'Miasto',
        [
            InputRequired('Podaj miasto'),
            Length(min=2,
                   max=100,
                   message='Długość miasta musi zawierać się '
                   'w przedziale %(min)d-%(max)d'),
        ],
        filters=[strip_filter],
    )

    description = TextAreaField('Opis', filters=[strip_filter])
Пример #22
0
class BidsForm(Form):
    bidder_id = StringField('bidder_id',
                            [InputRequired(message=u'No bidder id')])

    yearlyPaymentsPercentage = DecimalField(
        'yearlyPaymentsPercentage',
        validators=[
            validate_yearly_payments_percentage,
            InputRequired(message=u'Provide yearlyPaymentsPercentage')
        ])
    contractDuration = IntegerField(
        'contractDuration',
        validators=[
            NumberRange(
                0, MAX_CONTRACT_DURATION,
                'contractDuration must be between %(min)s and %(max)s.')
        ])
    contractDurationDays = IntegerField(
        'contractDurationDays',
        validators=[
            validate_contract_duration,
            NumberRange(
                0, DAYS_IN_YEAR - 1,
                'contractDurationDays must be between %(min)s and %(max)s.')
        ])

    def validate_bidder_id(self, field):
        stage_id = self.document['current_stage']
        if self.document['stages'][stage_id]['type'] == 'bids':
            validate_bidder_id_on_bidding(self, field)

    def validate(self):
        if super(BidsForm, self).validate():
            try:
                if str(self.yearlyPaymentsPercentage.data) == "-0.01":
                    return -1

                if self.contractDuration.data == 0 and self.contractDurationDays.data == 0:
                    message = u'You can\'t bid 0 days and 0 years'
                    append_error_to_form(self, message)
                    raise ValidationError(message)
                nbu_rate = self.auction.auction_document['NBUdiscountRate']
                annual_costs_reduction = [
                    bid['annualCostsReduction']
                    for bid in self.document['initial_bids']
                    if bid['bidder_id'] == self.bidder_id.data
                ][0]
                amount = npv(
                    self.contractDuration.data,
                    self.contractDurationDays.data,
                    self.yearlyPaymentsPercentage.data,
                    annual_costs_reduction,
                    parser.parse(
                        self.auction.auction_document['noticePublicationDate']
                    ),  # XXX TODO TEMP!!!!!
                    nbu_rate)
                stage_id = self.document['current_stage']
                if self.document['stages'][stage_id]['type'] == 'bids':
                    validate_bid_change_on_bidding(self, amount)
                else:
                    message = u'Stage not for bidding'
                    append_error_to_form(self, message)
                    raise ValidationError(message)
                return amount
            except ValidationError:
                return False
        return False
Пример #23
0
class UpperLimbData(FlaskForm):
    """
	Render the necessary field types in the Jinja template when 	instantiated
	"""
    shoulder_height = DecimalField("Shoulder Height",
                                   validators=[DataRequired()])
    chest_height = DecimalField("Chest Height", validators=[DataRequired()])
    waist_length = DecimalField("Waist Length", validators=[DataRequired()])
    gender = DecimalField("Gender", validators=[InputRequired()])
    age = DecimalField("age", validators=[DataRequired()])
    foot1 = DecimalField("Foot Length", validators=[DataRequired()])
    foot2 = DecimalField("Foot Circumference", validators=[DataRequired()])
    foreleg1 = DecimalField("Foreleg Length", validators=[DataRequired()])
    foreleg2 = DecimalField("Foreleg Circumference",
                            validators=[DataRequired()])
    thigh1 = DecimalField("Thigh Length", validators=[DataRequired()])
    thigh2 = DecimalField("Thigh Circumference", validators=[DataRequired()])
    submit = SubmitField("Submit")
Пример #24
0
class AddForm(FlaskForm):
	Add_Portfolio = StringField(label='Email',validators=[DataRequired(), Email()])
	Add_Ticker = StringField(label='Stock',validators=[DataRequired(), Length(max=5)])
	Price = DecimalField(label='enter price', default=00.00, validators=[DataRequired()])
	Quantity = IntegerField(label='enter quantity', default=0, validators=[DataRequired()])
	SubmitAdd = SubmitField('submit')
Пример #25
0
class ProductionAddForm(FlaskForm):
    """
    创建表单
    """
    production_brand = StringField(_('production brand'),
                                   validators=[
                                       DataRequired(),
                                   ],
                                   description='产品品牌(例如:SKF、F*G、NSK...)',
                                   render_kw={
                                       'placeholder': _('production brand'),
                                       'rel': 'tooltip',
                                       'title': _('production brand'),
                                       'autocomplete': 'off',
                                   })
    production_model = StringField(_('production model'),
                                   validators=[
                                       DataRequired(),
                                       AddProductionModelRepeatValidate(),
                                   ],
                                   description='产品型号(例如:7008CEGA/HCP4A)',
                                   render_kw={
                                       'placeholder': _('production model'),
                                       'rel': 'tooltip',
                                       'title': _('production model'),
                                       'autocomplete': 'off',
                                   })
    production_sku = StringField(_('production sku'),
                                 validators=[
                                     DataRequired(),
                                     Length(min=2, max=16),
                                 ],
                                 default='Pcs',
                                 description='单位(Pcs:个,Pair:对,Set:组)',
                                 render_kw={
                                     'placeholder': _('production sku'),
                                     'rel': 'tooltip',
                                     'title': _('production sku'),
                                     'autocomplete': 'off',
                                 })
    ind = IntegerField(_('ind'),
                       validators=[],
                       default=0,
                       description=_('ind'),
                       render_kw={
                           'placeholder': _('ind'),
                           'rel': 'tooltip',
                           'title': _('ind'),
                           'type': 'number',
                           'step': 1,
                           'min': 0,
                           'max': 10000,
                       })
    oud = IntegerField(_('oud'),
                       validators=[],
                       default=0,
                       description=_('oud'),
                       render_kw={
                           'placeholder': _('oud'),
                           'rel': 'tooltip',
                           'title': _('oud'),
                           'type': 'number',
                           'step': 1,
                           'min': 0,
                           'max': 10000,
                       })
    wid = IntegerField(_('wid'),
                       validators=[],
                       default=0,
                       description=_('wid'),
                       render_kw={
                           'placeholder': _('wid'),
                           'rel': 'tooltip',
                           'title': _('wid'),
                           'type': 'number',
                           'step': 1,
                           'min': 0,
                           'max': 10000,
                       })
    cost_ref = DecimalField(_('cost ref'),
                            validators=[],
                            default=0.00,
                            description=_('cost ref'),
                            render_kw={
                                'placeholder': _('cost ref'),
                                'rel': 'tooltip',
                                'title': _('cost ref'),
                                'type': 'number',
                                'step': 0.01,
                                'min': 0.00,
                                'max': 1000000.00,
                            })
    cost_new = DecimalField(_('cost new'),
                            validators=[],
                            default=0.00,
                            description=_('cost new'),
                            render_kw={
                                'placeholder': _('cost new'),
                                'rel': 'tooltip',
                                'title': _('cost new'),
                                'type': 'number',
                                'step': 0.01,
                                'min': 0.00,
                                'max': 1000000.00,
                            })
    cost_avg = DecimalField(_('cost avg'),
                            validators=[],
                            default=0.00,
                            description=_('cost avg'),
                            render_kw={
                                'placeholder': _('cost avg'),
                                'rel': 'tooltip',
                                'title': _('cost avg'),
                                'type': 'number',
                                'step': 0.01,
                                'min': 0.00,
                                'max': 1000000.00,
                            })
    note = StringField(_('production note'),
                       validators=[],
                       description='产品备注(例如:最小起订量12个)',
                       render_kw={
                           'placeholder': _('production note'),
                           'rel': 'tooltip',
                           'title': _('production note'),
                           'autocomplete': 'off',
                       })
Пример #26
0
class CreateServiceForm(FlaskForm):
    name = StringField('Service Name', validators=[DataRequired()])
    price = DecimalField('Price', validators=[NumberRange(min=0, max=1000)])
    submit = SubmitField('Submit')
Пример #27
0
class ActionForm(FlaskForm):
    lval = DecimalField('lval', validators=[DataRequired()])
    rval = DecimalField('rval', validators=[DataRequired()])
    action = RadioField('action',
                        choices=[('add', 'add'), ('sub', 'subtract')])
    submit = SubmitField('submit')
Пример #28
0
class GoodForm(FlaskForm):
    cate_id = IntegerField(u'绑定类别')
    good_name = StringField(u'商品名')
    good_info = StringField(u'商品介绍')
    good_price = DecimalField(u'价格')
    good_status = BooleanField(u'状态-上线/下线')
Пример #29
0
class MyForm(FlaskForm):
    target = DecimalField(
        'target', validators=[DataRequired(),
                              NumberRange(0, MAX_NUMBER)])
Пример #30
0
class PIDModValueRaise(FlaskForm):
    raise_min_amount = DecimalField(lazy_gettext('Min Amount (Raise)'),
                                    widget=NumberInput(step='any'))
    raise_max_amount = DecimalField(lazy_gettext('Max Amount (Raise)'),
                                    widget=NumberInput(step='any'))