Exemple #1
0
class FilterDefinition(PythonModel):

    # TODO(vedant) - In a future Dashboard Schema update, we will need to unify
    # these filters such that they are common with AQT and Druid filter
    # definitions.

    @classmethod
    def registry(cls):
        return FilterProperty

    @property
    @FilterProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'id'))
    def id(self):
        return self.get('id')

    @id.setter
    @FilterProperty.setter()
    def id(self, value):
        self['id'] = value

    @property
    @FilterProperty.getter(
        value_validate_function=lambda value: assert_string(value, 'name'))
    def name(self):
        return self.get('name')

    @name.setter
    @FilterProperty.setter()
    def name(self, value):
        self['name'] = value

    @property
    @FilterProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(
            value, 'filter_on'),
    )
    def filter_on(self):
        return self.get('filterOn')

    @filter_on.setter
    @FilterProperty.setter()
    def filter_on(self, value):
        self['filterOn'] = value

    @property
    @FilterProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'filter_values', validate_filter_value),
    )
    def filter_values(self):
        return self.get('filterValues')

    @filter_values.setter
    @FilterProperty.setter()
    def filter_values(self, value):
        self['filterValues'] = value
Exemple #2
0
class CustomField(PythonModel):
    @classmethod
    def registry(cls):
        return CustomFieldProperty

    @property
    @CustomFieldProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'field_ids', string_type_validator
        ),
    )
    def field_ids(self):
        return self.get('fieldIds')

    @field_ids.setter
    @CustomFieldProperty.setter()
    def field_ids(self, value):
        self['fieldIds'] = value

    @property
    @CustomFieldProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'formula'),
    )
    def formula(self):
        return self.get('formula')

    @formula.setter
    @CustomFieldProperty.setter()
    def formula(self, value):
        self['formula'] = value

    @property
    @CustomFieldProperty.getter(
        nullable=False, value_validate_function=lambda value: assert_string(value, 'id')
    )
    def id(self):
        return self.get('id')

    @id.setter
    @CustomFieldProperty.setter()
    def id(self, value):
        self['id'] = value

    @property
    @CustomFieldProperty.getter(
        value_validate_function=lambda value: assert_string(value, 'name')
    )
    def name(self):
        return self.get('name')

    @name.setter
    @CustomFieldProperty.setter()
    def name(self, value):
        self['name'] = value
class ScoreCardSettings(PythonModel):
    @classmethod
    def registry(cls):
        return ScoreCardProperty

    @property
    @ScoreCardProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'inverted_fields', string_type_validator),
    )
    def inverted_fields(self):
        return self.get('invertedFields')

    @inverted_fields.setter
    @ScoreCardProperty.setter()
    def inverted_fields(self, value):
        self['invertedFields'] = value
Exemple #4
0
class QueryDefinition(PythonModel):
    @classmethod
    def registry(cls):
        return QueryProperty

    @property
    @QueryProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'advancedFields', validate_advanced_field_item),
    )
    def advanced_fields(self):
        return self.get('advancedFields')

    @advanced_fields.setter
    @QueryProperty.setter(
        value_parser_function=lambda advanced_field_objects: [
            AdvancedFieldDefinition(advanced_field_object)
            for advanced_field_object in advanced_field_objects
        ])
    def advanced_fields(self, value):
        self['advancedFields'] = value

    # TODO(pablo): come up with a proper structure for advancedFilters that
    # mirrors the SerializedQueryFilter
    @property
    @QueryProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'advancedFilters', validate_mapping),
    )
    def advanced_filters(self):
        return self.get('advancedFilters')

    @advanced_filters.setter
    @QueryProperty.setter()
    def advanced_filters(self, value):
        self['advancedFilters'] = value

    @property
    @QueryProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'advancedGroups', validate_mapping),
    )
    def advanced_groups(self):
        return self.get('advancedGroups')

    @advanced_groups.setter
    @QueryProperty.setter()
    def advanced_groups(self, value):
        self['advancedGroups'] = value

    @property
    @QueryProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'id'))
    def id(self):
        return self.get('id')

    @id.setter
    @QueryProperty.setter()
    def id(self, value):
        self['id'] = value

    @property
    @QueryProperty.getter(
        value_validate_function=lambda value: assert_string(value, 'name'))
    def name(self):
        return self.get('name')

    @name.setter
    @QueryProperty.setter()
    def name(self, value):
        self['name'] = value

    @property
    @QueryProperty.getter(
        nullable=False,
        serialized_property_name='magicFilters',
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'magic_filter_ids', string_type_validator),
    )
    def magic_filter_ids(self):
        return self.get('magicFilters')

    @magic_filter_ids.setter
    @QueryProperty.setter()
    def magic_filter_ids(self, value):
        self['magicFilters'] = value

    @property
    @QueryProperty.getter(
        nullable=False,
        default_value='',
        value_validate_function=lambda value: assert_string(
            value, 'date_range_id'),
    )
    def date_range_id(self):
        return self.get('dateRangeId')

    @date_range_id.setter
    @QueryProperty.setter()
    def date_range_id(self, value):
        self['dateRangeId'] = value

    @property
    @QueryProperty.getter(
        nullable=False,
        default_value='',
        value_validate_function=lambda value: assert_string(value, 'group_by'),
    )
    def group_by(self):
        return self.get('groupBy')

    @group_by.setter
    @QueryProperty.setter()
    def group_by(self, value):
        self['groupBy'] = value
Exemple #5
0
class LayoutItem(PythonModel):
    @classmethod
    def registry(cls):
        return LayoutItemProperty

    # TODO(vedant) - Come up with a proper structure for frontEndSelections
    # and/or filterModalSelections. Get rid of one of them since they have a
    # very similar structure.

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'custom_fields', validate_custom_field),
    )
    def custom_fields(self):
        return self.get('customFields')

    @custom_fields.setter
    @LayoutItemProperty.setter(
        value_parser_function=lambda custom_field_objects: [
            CustomField(custom_field_object)
            for custom_field_object in custom_field_objects
        ])
    def custom_fields(self, value):
        self['customFields'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        default_value=lambda: {},
        value_validate_function=lambda value: assert_mapping(
            value, 'filter_modal_selections'),
    )
    def filter_modal_selections(self):
        return self.get('filterModalSelections')

    @filter_modal_selections.setter
    @LayoutItemProperty.setter()
    def filter_modal_selections(self, value):
        self['filterModalSelections'] = value

    @property
    @LayoutItemProperty.getter(
        serialized_property_name='frontendSelectionsFilter',
        nullable=False,
        default_value=lambda: {},
        value_validate_function=lambda value: assert_mapping(
            value, 'front_end_selections_filter'),
    )
    def front_end_selections_filter(self):
        return self.get('frontendSelectionsFilter')

    @front_end_selections_filter.setter
    @LayoutItemProperty.setter()
    def front_end_selections_filter(self, value):
        self['frontendSelectionsFilter'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'id'))
    def id(self):
        return self.get('id')

    @id.setter
    @LayoutItemProperty.setter()
    def id(self, value):
        self['id'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'query_id'),
    )
    def query_id(self):
        return self.get('queryId')

    @query_id.setter
    @LayoutItemProperty.setter()
    def query_id(self, value):
        self['queryId'] = value

    @property
    @LayoutItemProperty.getter(
        value_validate_function=lambda value: assert_string(value, 'name'))
    def name(self):
        return self.get('name')

    @name.setter
    @LayoutItemProperty.setter()
    def name(self, value):
        self['name'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        default_value=DEFAULT_IS_ADVANCED_QUERY_ITEM,
        value_validate_function=lambda value: assert_boolean(
            value, 'is_advanced_query_item'),
    )
    def is_advanced_query_item(self):
        return self.get('isAdvancedQueryItem')

    @is_advanced_query_item.setter
    @LayoutItemProperty.setter()
    def is_advanced_query_item(self, value):
        self['isAdvancedQueryItem'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        default_value=DEFAULT_IS_LOCKED,
        value_validate_function=lambda value: assert_boolean(
            value, 'is_locked'),
    )
    def is_locked(self):
        return self.get('isLocked')

    @is_locked.setter
    @LayoutItemProperty.setter()
    def is_locked(self, value):
        self['isLocked'] = value

    @property
    @LayoutItemProperty.getter(value_validate_function=lambda value:
                               assert_string(value, 'setting_id'))
    def setting_id(self):
        return self.get('settingId')

    @setting_id.setter
    @LayoutItemProperty.setter()
    def setting_id(self, value):
        self['settingId'] = value

    @property
    @LayoutItemProperty.getter(
        serialized_property_name='type',
        nullable=False,
        value_validate_function=lambda value: assert_type(
            value, VisualizationType, argument_name='item_type'),
        value_formatter_function=lambda value: value.name,
    )
    def item_type(self):
        return self.get('type')

    @item_type.setter
    @LayoutItemProperty.setter(
        value_parser_function=deserialize_visualization_type)
    def item_type(self, value):
        self['type'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_integer(
            value, 'upper_x', lower_bound=UPPER_X_LOWER_BOUND),
    )
    def upper_x(self):
        return self.get('upperX')

    @upper_x.setter
    @LayoutItemProperty.setter()
    def upper_x(self, value):
        self['upperX'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_integer(
            value, 'upper_x', lower_bound=UPPER_Y_LOWER_BOUND),
    )
    def upper_y(self):
        return self.get('upperY')

    @upper_y.setter
    @LayoutItemProperty.setter()
    def upper_y(self, value):
        self['upperY'] = value

    @property
    @LayoutItemProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'size_id'),
    )
    def size_id(self):
        return self.get('sizeId')

    @size_id.setter
    @LayoutItemProperty.setter()
    def size_id(self, value):
        self['sizeId'] = value
Exemple #6
0
class SeriesSettings(PythonModel):
    '''A model that represents settings for the series components of a visualization.
    '''

    @classmethod
    def registry(cls):
        return SeriesProperty

    @property
    @SeriesProperty.getter(
        nullable=False,
        default_value=lambda: {},
        value_validate_function=lambda value: assert_series_objects(
            value, 'seriesObjects'
        ),
        setter_function_name='_series_objects',
    )
    def series_objects(self):
        return self.get('seriesObjects')

    @series_objects.setter
    @SeriesProperty.setter(
        value_parser_function=lambda series_objects: {
            _id: SeriesSettingsObject(settings_object)
            for (_id, settings_object) in series_objects.items()
        }
    )
    def _series_objects(self, value):
        self['seriesObjects'] = value

    @property
    @SeriesProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'series_order', string_type_validator
        ),
        setter_function_name='_series_order',
    )
    def series_order(self):
        return self.get('seriesOrder')

    @series_order.setter
    @SeriesProperty.setter()
    def _series_order(self, value):
        self['seriesOrder'] = value

    def before_serialize(self):
        order_values = set(self.series_order)
        object_keys = set(self.series_objects.keys())
        difference = object_keys.difference(order_values)
        if difference:
            message = (
                '\'series_objects\' and \'series_order\' are expected to '
                'have the same keys/elements. \'series_objects\' '
                'had \'{object_keys}\'. \'series_order\' had values '
                '\'{order_values}\'. Difference was \'{difference}\''
            ).format(
                order_values=order_values,
                object_keys=object_keys,
                difference=difference,
            )
            raise ValueError(message)

    def add_or_update_series(self, series_object):
        assert_type(series_object, SeriesSettingsObject)
        _id = series_object.id
        if _id not in self.series_order:
            updated_value = self.series_order
            updated_value.append(_id)
            self._series_order = updated_value

        updated_objects = self.series_objects
        updated_objects[_id] = series_object
        self._series_objects = updated_objects

    def delete_series(self, series_id):
        assert_string(series_id)
        if series_id in self.series_order:
            updated_value = self.series_order
            updated_value.pop(series_id)
            self._series_order = updated_value

        if series_id in self.series_objects:
            updated_objects = self.series_objects
            updated_objects.pop(series_id)
            self._series_objects = updated_objects

    def set_series_order(self, new_order):
        old_order_set = set(self.series_order)
        new_order_set = set(new_order)
        difference = old_order_set.difference(new_order_set)
        if difference:
            message = (
                'The new value for \'series_order\' and is expected to '
                'have the same elements as the previous value. Only the ordering '
                'may differ. The new version had \'{new_order}\'. The old version '
                'had \'{old_order}\'. The difference was \'{difference}\''
            ).format(
                new_order=new_order, old_order=self.series_order, difference=difference
            )
            raise ValueError(message)
class HeatTileSettings(PythonModel):
    @classmethod
    def registry(cls):
        return HeatTileProperty

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_HEAT_TILE_DIVERGENT_COLORATION,
        value_validate_function=lambda value: assert_boolean(
            value, 'divergent_coloration'),
    )
    def divergent_coloration(self):
        return self.get('divergentColoration')

    @divergent_coloration.setter
    @HeatTileProperty.setter()
    def divergent_coloration(self, value):
        self['divergentColoration'] = value

    @property
    @HeatTileProperty.getter(
        serialized_property_name='firstYaxisSelections',
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'first_y_axis_selections', string_type_validator),
    )
    def first_y_axis_selections(self):
        return self.get('firstYaxisSelections')

    @first_y_axis_selections.setter
    @HeatTileProperty.setter()
    def first_y_axis_selections(self, value):
        self['firstYaxisSelections'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_HEAT_TILE_INVERT_COLORATION,
        value_validate_function=lambda value: assert_boolean(
            value, 'invert_coloration'),
    )
    def invert_coloration(self):
        return self.get('invertColoration')

    @invert_coloration.setter
    @HeatTileProperty.setter()
    def invert_coloration(self, value):
        self['invertColoration'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_HEAT_TILE_LOG_SCALING,
        value_validate_function=lambda value: assert_boolean(
            value, 'log_scaling'),
    )
    def log_scaling(self):
        return self.get('logScaling')

    @log_scaling.setter
    @HeatTileProperty.setter()
    def log_scaling(self, value):
        self['logScaling'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEAFULT_HEAT_TILE_RESULT_LIMIT,
        value_validate_function=lambda value: assert_integer(
            value, 'result_limit'),
    )
    def result_limit(self):
        return self.get('resultLimit')

    @result_limit.setter
    @HeatTileProperty.setter()
    def result_limit(self, value):
        self['resultLimit'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_SELECTED_FIELD,
        value_validate_function=lambda value: assert_string(
            value, 'selected_field'),
    )
    def selected_field(self):
        return self.get('selectedField')

    @selected_field.setter
    @HeatTileProperty.setter()
    def selected_field(self, value):
        self['selectedField'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_HEAT_TILE_TIME_ON_Y_AXIS,
        value_validate_function=lambda value: assert_boolean(
            value, 'show_time_on_y_axis'),
    )
    def show_time_on_y_axis(self):
        return self.get('showTimeOnYAxis')

    @show_time_on_y_axis.setter
    @HeatTileProperty.setter()
    def show_time_on_y_axis(self, value):
        self['showTimeOnYAxis'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_HEAT_TILE_SORT_ORDER,
        value_validate_function=lambda value: assert_enum(
            value, SortOrder, 'SortOrder', 'sort_order'),
        value_formatter_function=serialize_sort_order,
    )
    def sort_order(self):
        return self.get('sortOrder')

    @sort_order.setter
    @HeatTileProperty.setter(value_parser_function=deserialize_sort_order)
    def sort_order(self, value):
        self['sortOrder'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_SELECTED_FIELD,
        value_validate_function=lambda value: assert_string(value, 'sort_on'),
    )
    def sort_on(self):
        return self.get('sortOn')

    @sort_on.setter
    @HeatTileProperty.setter()
    def sort_on(self, value):
        self['sortOn'] = value

    @property
    @HeatTileProperty.getter(
        nullable=False,
        default_value=DEFAULT_HEAT_TILE_USE_ETHIOPIAN_DATES,
        value_validate_function=lambda value: assert_boolean(
            value, 'use_ethopian_dates'),
    )
    def use_ethiopian_dates(self):
        return self.get('useEthiopianDates')

    @use_ethiopian_dates.setter
    @HeatTileProperty.setter()
    def use_ethiopian_dates(self, value):
        self['useEthiopianDates'] = value
def assert_overlay_layers(value, argument_name=None):
    assert_non_string_iterable(value, argument_name, string_type_validator)
def assert_map_coordinates(value, argument_name=None):
    assert_non_string_iterable(value, argument_name, map_coordinate_validator)
class TableSettings(PythonModel):
    @classmethod
    def registry(cls):
        return TableProperty

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'inverted_fields', string_type_validator),
    )
    def inverted_fields(self):
        return self.get('invertedFields')

    @inverted_fields.setter
    @TableProperty.setter()
    def inverted_fields(self, value):
        self['invertedFields'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_FORMAT,
        value_validate_function=lambda value: assert_enum(
            value, TableFormat, 'TableFormat', 'tableFormat'),
        value_formatter_function=lambda value: value.name.lower(),
    )
    def table_format(self):
        return self.get('tableFormat')

    @table_format.setter
    @TableProperty.setter(value_parser_function=deserialize_table_format)
    def table_format(self, value):
        self['tableFormat'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ENABLE_PAGINATION,
        value_validate_function=lambda value: assert_boolean(
            value, 'enable_pagination'),
    )
    def enable_pagination(self):
        return self.get('enablePagination')

    @enable_pagination.setter
    @TableProperty.setter()
    def enable_pagination(self, value):
        self['enablePagination'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ADD_TOTAL_ROW,
        value_validate_function=lambda value: assert_boolean(
            value, 'add_total_row'),
    )
    def add_total_row(self):
        return self.get('addTotalRow')

    @add_total_row.setter
    @TableProperty.setter()
    def add_total_row(self, value):
        self['addTotalRow'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_HEIGHT,
        value_validate_function=lambda value: assert_number(
            value, 'row_height'),
    )
    def row_height(self):
        return self.get('rowHeight')

    @row_height.setter
    @TableProperty.setter()
    def row_height(self, value):
        self['rowHeight'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_HEADER_FONT,
        value_validate_function=lambda value: assert_string(
            value, 'header_font_family'),
    )
    def header_font_family(self):
        return self.get('headerFontFamily')

    @header_font_family.setter
    @TableProperty.setter()
    def header_font_family(self, value):
        self['headerFontFamily'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_HEADER_COLOR,
        value_validate_function=lambda value: assert_string(
            value, 'header_color'),
    )
    def header_color(self):
        return self.get('headerColor')

    @header_color.setter
    @TableProperty.setter()
    def header_color(self, value):
        self['headerColor'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_HEADER_SIZE,
        value_validate_function=lambda value: assert_string(
            value, 'header_font_size'),
    )
    def header_font_size(self):
        return self.get('headerFontSize')

    @header_font_size.setter
    @TableProperty.setter()
    def header_font_size(self, value):
        self['headerFontSize'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_HEADER_BACKGROUND,
        value_validate_function=lambda value: assert_string(
            value, 'header_background'),
    )
    def header_background(self):
        return self.get('headerBackground')

    @header_background.setter
    @TableProperty.setter()
    def header_background(self, value):
        self['headerBackground'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_HEADER_BORDER,
        value_validate_function=lambda value: assert_string(
            value, 'header_border_color'),
    )
    def header_border_color(self):
        return self.get('headerBorderColor')

    @header_border_color.setter
    @TableProperty.setter()
    def header_border_color(self, value):
        self['headerBorderColor'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_FONT,
        value_validate_function=lambda value: assert_string(
            value, 'row_font_family'),
    )
    def row_font_family(self):
        return self.get('rowFontFamily')

    @row_font_family.setter
    @TableProperty.setter()
    def row_font_family(self, value):
        self['rowFontFamily'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_COLOR,
        value_validate_function=lambda value: assert_string(
            value, 'row_color'),
    )
    def row_color(self):
        return self.get('rowColor')

    @row_color.setter
    @TableProperty.setter()
    def row_color(self, value):
        self['rowColor'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_SIZE,
        value_validate_function=lambda value: assert_string(
            value, 'row_font_size'),
    )
    def row_font_size(self):
        return self.get('rowFontSize')

    @row_font_size.setter
    @TableProperty.setter()
    def row_font_size(self, value):
        self['rowFontSize'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_BACKGROUND,
        value_validate_function=lambda value: assert_string(
            value, 'row_background'),
    )
    def row_background(self):
        return self.get('rowBackground')

    @row_background.setter
    @TableProperty.setter()
    def row_background(self, value):
        self['rowBackground'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_BACKGROUND,
        value_validate_function=lambda value: assert_string(
            value, 'row_alternate_background'),
    )
    def row_alternate_background(self):
        return self.get('rowAlternateBackground')

    @row_alternate_background.setter
    @TableProperty.setter()
    def row_alternate_background(self, value):
        self['rowAlternateBackground'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_BORDER,
        value_validate_function=lambda value: assert_string(
            value, 'row_border_color'),
    )
    def row_border_color(self):
        return self.get('rowBorderColor')

    @row_border_color.setter
    @TableProperty.setter()
    def row_border_color(self, value):
        self['rowBorderColor'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_FOOTER_FONT,
        value_validate_function=lambda value: assert_string(
            value, 'footer_font_family'),
    )
    def footer_font_family(self):
        return self.get('footerFontFamily')

    @footer_font_family.setter
    @TableProperty.setter()
    def footer_font_family(self, value):
        self['footerFontFamily'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_FOOTER_COLOR,
        value_validate_function=lambda value: assert_string(
            value, 'footer_color'),
    )
    def footer_color(self):
        return self.get('footerColor')

    @footer_color.setter
    @TableProperty.setter()
    def footer_color(self, value):
        self['footerColor'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_FOOTER_SIZE,
        value_validate_function=lambda value: assert_string(
            value, 'footer_font_size'),
    )
    def footer_font_size(self):
        return self.get('footerFontSize')

    @footer_font_size.setter
    @TableProperty.setter()
    def footer_font_size(self, value):
        self['footerFontSize'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_FOOTER_BACKGROUND,
        value_validate_function=lambda value: assert_string(
            value, 'footer_background'),
    )
    def footer_background(self):
        return self.get('footerBackground')

    @footer_background.setter
    @TableProperty.setter()
    def footer_background(self, value):
        self['footerBackground'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_FOOTER_BORDER,
        value_validate_function=lambda value: assert_string(
            value, 'footer_border_color'),
    )
    def footer_border_color(self):
        return self.get('footerBorderColor')

    @footer_border_color.setter
    @TableProperty.setter()
    def footer_border_color(self, value):
        self['footerBorderColor'] = value
Exemple #11
0
class QueryDefinition(PythonModel):
    @classmethod
    def registry(cls):
        return QueryProperty

    @property
    @QueryProperty.getter(
        nullable=False, value_validate_function=lambda value: assert_string(value, 'id')
    )
    def id(self):
        return self.get('id')

    @id.setter
    @QueryProperty.setter()
    def id(self, value):
        self['id'] = value

    @property
    @QueryProperty.getter(
        value_validate_function=lambda value: assert_string(value, 'name')
    )
    def name(self):
        return self.get('name')

    @name.setter
    @QueryProperty.setter()
    def name(self, value):
        self['name'] = value

    @property
    @QueryProperty.getter(
        serialized_property_name='magicFilters',
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'magic_filter_ids', string_type_validator
        ),
    )
    def magic_filter_ids(self):
        return self.get('magicFilters')

    @magic_filter_ids.setter
    @QueryProperty.setter()
    def magic_filter_ids(self, value):
        self['magicFilters'] = value

    # TODO(vedant) - Change this to `dateRangeId`
    @property
    @QueryProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'date_range'),
    )
    def date_range_id(self):
        return self.get('dateRangeId')

    @date_range_id.setter
    @QueryProperty.setter()
    def date_range_id(self, value):
        self['dateRangeId'] = value

    @property
    @QueryProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'group_by'),
    )
    def group_by(self):
        return self.get('groupBy')

    @group_by.setter
    @QueryProperty.setter()
    def group_by(self, value):
        self['groupBy'] = value
Exemple #12
0
class TableSettings(PythonModel):
    @classmethod
    def registry(cls):
        return TableProperty

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'inverted_fields', string_type_validator),
    )
    def inverted_fields(self):
        return self.get('invertedFields')

    @inverted_fields.setter
    @TableProperty.setter()
    def inverted_fields(self, value):
        self['invertedFields'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_FORMAT,
        value_validate_function=lambda value: assert_enum(
            value, TableFormat, 'TableFormat', 'tableFormat'),
        value_formatter_function=lambda value: value.name.lower(),
    )
    def table_format(self):
        return self.get('tableFormat')

    @table_format.setter
    @TableProperty.setter(value_parser_function=deserialize_table_format)
    def table_format(self, value):
        self['tableFormat'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ENABLE_PAGINATION,
        value_validate_function=lambda value: assert_boolean(
            value, 'enable_pagination'),
    )
    def enable_pagination(self):
        return self.get('enablePagination')

    @enable_pagination.setter
    @TableProperty.setter()
    def enable_pagination(self, value):
        self['enablePagination'] = value

    @property
    @TableProperty.getter(
        nullable=False,
        default_value=DEFAULT_TABLE_ROW_HEIGHT,
        value_validate_function=lambda value: assert_number(
            value, 'row_height'),
    )
    def row_height(self):
        return self.get('rowHeight')

    @row_height.setter
    @TableProperty.setter()
    def row_height(self, value):
        self['rowHeight'] = value
Exemple #13
0
class AdvancedFieldDefinition(PythonModel):
    @classmethod
    def registry(cls):
        return AdvancedFieldProperty

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_mapping(value, 'calculation'),
    )
    def calculation(self):
        return self.get('calculation')

    @calculation.setter
    @AdvancedFieldProperty.setter()
    def calculation(self, value):
        self['calculation'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_mapping(value, 'category'),
    )
    def category(self):
        return self.get('category')

    @category.setter
    @AdvancedFieldProperty.setter()
    def category(self, value):
        self['category'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'canonicalName'),
    )
    def canonical_name(self):
        return self.get('canonicalName')

    @canonical_name.setter
    @AdvancedFieldProperty.setter()
    def canonical_name(self, value):
        self['canonicalName'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False, value_validate_function=lambda value: assert_string(value, 'id')
    )
    def id(self):
        return self.get('id')

    @id.setter
    @AdvancedFieldProperty.setter()
    def id(self, value):
        self['id'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_string(value, 'shortName'),
    )
    def short_name(self):
        return self.get('shortName')

    @short_name.setter
    @AdvancedFieldProperty.setter()
    def short_name(self, value):
        self['shortName'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        value_validate_function=lambda value: assert_mapping(value, 'source'),
    )
    def source(self):
        return self.get('source')

    @source.setter
    @AdvancedFieldProperty.setter()
    def source(self, value):
        self['source'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        default_value='',
        value_validate_function=lambda value: assert_string(value, 'description'),
    )
    def description(self):
        return self.get('description')

    @description.setter
    @AdvancedFieldProperty.setter()
    def description(self, value):
        self['description'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        default_value='',
        value_validate_function=lambda value: assert_string(value, 'label'),
    )
    def label(self):
        return self.get('label')

    @label.setter
    @AdvancedFieldProperty.setter()
    def label(self, value):
        self['label'] = value

    @property
    @AdvancedFieldProperty.getter(
        nullable=False,
        default_value=lambda: [],
        value_validate_function=lambda value: assert_non_string_iterable(
            value, 'customizableFilterItems'
        ),
    )
    def customizable_filter_items(self):
        return self.get('customizableFilterItems')

    @customizable_filter_items.setter
    @AdvancedFieldProperty.setter()
    def customizable_filter_items(self, value):
        self['customizableFilterItems'] = value