deseasion.backend.schemas.processing_models module

class deseasion.backend.schemas.processing_models.ContinuousRuleCreationSchema(*args, **kwargs)

Bases: ContinuousRuleSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.ContinuousRuleSchema(*args, **kwargs)

Bases: PrefDefaultValuesBaseSchema

class Meta

Bases: Meta

model

alias of ContinuousRule

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.DefaultValueSchema(*args, **kwargs)

Bases: BaseSchema

class Meta

Bases: Meta

fields = ('attribute', 'value')
model

alias of DefaultValue

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.DiscreteCategorySchema(*args, **kwargs)

Bases: BaseSchema

class Meta

Bases: Meta

fields = ('id', 'name', 'position')
load_only = ('position',)
model

alias of DiscreteCategory

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.DiscreteRulesCategorySchema(*args, **kwargs)

Bases: BaseSchema

class Meta

Bases: Meta

fields = ('id', 'name', 'position', 'rules')
model

alias of DiscreteRulesCategory

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.DiscreteRulesCreationSchema(*args, **kwargs)

Bases: DiscreteRulesSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.DiscreteRulesSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

class Meta

Bases: Meta

fields = ('id', 'model_type', 'data_generator', 'cut_to_extent', 'categories', 'name', 'used_attributes')
model

alias of DiscreteRules

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.DissolveAdjacentModelCreationSchema(*args, **kwargs)

Bases: DissolveAdjacentModelSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.DissolveAdjacentModelSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

class Meta

Bases: Meta

model

alias of DissolveAdjacentModel

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.GeoBufferCreationSchema(*args, **kwargs)

Bases: GeoBufferSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.GeoBufferSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

class Meta

Bases: Meta

fields = ('id', 'model_type', 'data_generator', 'cut_to_extent', 'radius', 'name', 'used_attributes')
model

alias of GeoBuffer

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.MRSortCreationSchema(*args, **kwargs)

Bases: MRSortSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.MRSortCriterionSchema(*args, **kwargs)

Bases: BaseSchema

class Meta

Bases: Meta

dump_only = ('attribute',)
fields = ('attribute_id', 'mrsort_id', 'attribute', 'profiles', 'weight', 'maximize')
load_only = ('attribute_id', 'mrsort_id')
model

alias of MRSortCriterion

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.MRSortSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

class Meta

Bases: Meta

fields = ('id', 'model_type', 'data_generator', 'cut_to_extent', 'categories', 'criteria', 'majority_threshold', 'name', 'used_attributes')
model

alias of MRSort

get_categories(obj)
get_criteria(obj)
init_criteria(mrsort, **kwargs)

Load the criteria of the MR-Sort data

load_categories(value)

Load the categories from a dictionary.

If there is already an existing category with the same name, reuse the same object instance.

load_criteria(value)
opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.MergeOverlapModelCreationSchema(*args, **kwargs)

Bases: MergeOverlapModelSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.MergeOverlapModelSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

class Meta

Bases: Meta

fields = ('id', 'model_type', 'data_generator', 'cut_to_extent', 'keep_overlap', 'name', 'used_attributes')
model

alias of MergeOverlapModel

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.PrefDefaultValuesAttributeSchema(*, only: Sequence[str] | AbstractSet[str] | None = None, exclude: Sequence[str] | AbstractSet[str] = (), many: bool = False, context: dict | None = None, load_only: Sequence[str] | AbstractSet[str] = (), dump_only: Sequence[str] | AbstractSet[str] = (), partial: bool | Sequence[str] | AbstractSet[str] | None = None, unknown: str | None = None)

Bases: Schema

opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>
class deseasion.backend.schemas.processing_models.PrefDefaultValuesBaseSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

class Meta(*args, **kwargs)

Bases: PrefModelBaseSchema

model

alias of PrefDefaultValues

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
get_attributes_list(obj)
opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.PrefModelBaseCreationSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.PrefModelBaseSchema(*args, **kwargs)

Bases: BaseSchema

class Meta

Bases: Meta

dump_only = ('id', 'model_type', 'data_generator', 'used_attributes')
model

alias of ProcessingModel

get_used_attributes(obj)
opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.ProcessingModelCreationSchema(*args, many=False, **kwargs)

Bases: OneOfSchemaWithType, PrefModelBaseCreationSchema

get_obj_type(obj)

Returns name of the schema during dump() calls, given the object being dumped.

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
type_field = 'model_type'
type_schemas: Dict[str, Type[Schema]] = {'categories_rule': <class 'deseasion.backend.schemas.processing_models.DiscreteRulesCreationSchema'>, 'continuous_rule': <class 'deseasion.backend.schemas.processing_models.ContinuousRuleCreationSchema'>, 'dissolve_adjacent': <class 'deseasion.backend.schemas.processing_models.DissolveAdjacentModelCreationSchema'>, 'geo_buffer': <class 'deseasion.backend.schemas.processing_models.GeoBufferCreationSchema'>, 'merge_overlap': <class 'deseasion.backend.schemas.processing_models.MergeOverlapModelCreationSchema'>, 'mrsort': <class 'deseasion.backend.schemas.processing_models.MRSortCreationSchema'>, 'weighted_sum': <class 'deseasion.backend.schemas.processing_models.WeightedSumCreationSchema'>, 'zone_proposition': <class 'deseasion.backend.schemas.processing_models.ZonePropositionGeneratorCreationSchema'>}
class deseasion.backend.schemas.processing_models.ProcessingModelSchema(*args, many=False, **kwargs)

Bases: OneOfSchema, PrefModelBaseSchema

get_obj_type(obj)

Returns name of the schema during dump() calls, given the object being dumped.

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
type_field = 'model_type'
type_schemas: Dict[str, Type[Schema]] = {'categories_rule': <class 'deseasion.backend.schemas.processing_models.DiscreteRulesSchema'>, 'continuous_rule': <class 'deseasion.backend.schemas.processing_models.ContinuousRuleSchema'>, 'dissolve_adjacent': <class 'deseasion.backend.schemas.processing_models.DissolveAdjacentModelSchema'>, 'geo_buffer': <class 'deseasion.backend.schemas.processing_models.GeoBufferSchema'>, 'merge_overlap': <class 'deseasion.backend.schemas.processing_models.MergeOverlapModelSchema'>, 'mrsort': <class 'deseasion.backend.schemas.processing_models.MRSortSchema'>, 'weighted_sum': <class 'deseasion.backend.schemas.processing_models.WeightedSumSchema'>, 'zone_proposition': <class 'deseasion.backend.schemas.processing_models.ZonePropositionGeneratorSchema'>}
class deseasion.backend.schemas.processing_models.WeightedSumCreationSchema(*args, **kwargs)

Bases: WeightedSumSchema

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.WeightedSumOperandSchema(*args, **kwargs)

Bases: BaseSchema

class Meta

Bases: Meta

model

alias of WeightedSumOperand

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.WeightedSumSchema(*args, **kwargs)

Bases: PrefDefaultValuesBaseSchema

class Meta

Bases: Meta

model

alias of WeightedSum

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.ZonePropositionGeneratorCreationSchema(*args, **kwargs)

Bases: ZonePropositionGeneratorSchema

default_end_condition(data, **kwargs)
opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
class deseasion.backend.schemas.processing_models.ZonePropositionGeneratorSchema(*args, **kwargs)

Bases: PrefModelBaseSchema

class Meta

Bases: Meta

model

alias of ZonePropositionGenerator

opts: SchemaOpts = <marshmallow_sqlalchemy.schema.SQLAlchemyAutoSchemaOpts object>
validate_children(data, **kwargs)
validate_end_condition(data, **kwargs)