1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- from marshmallow import Schema, fields, validate
- from flexmeasures.data.schemas.sources import DataSourceIdField
- from flexmeasures.data.schemas import AwareDateTimeField, DurationField
- from flexmeasures.data.schemas.io import Input, Output
- class ReporterConfigSchema(Schema):
- """
- This schema is used to validate Reporter class configurations (config).
- Inherit from this class to extend this schema with your own parameters.
- """
- pass
- class ReporterParametersSchema(Schema):
- """
- This schema is used to validate the parameters to the method `compute` of
- the Reporter class.
- Inherit from this class to extend this schema with your own parameters.
- """
- input = fields.List(
- fields.Nested(Input()),
- required=True,
- validator=validate.Length(min=1),
- )
- output = fields.List(fields.Nested(Output()), validate=validate.Length(min=1))
- start = AwareDateTimeField(required=True)
- end = AwareDateTimeField(required=True)
- resolution = DurationField(required=False)
- belief_time = AwareDateTimeField(required=False)
- check_output_resolution = fields.Bool(required=False)
- belief_horizon = DurationField(required=False)
- class BeliefsSearchConfigSchema(Schema):
- """
- This schema implements the required fields to perform a TimedBeliefs search
- using the method flexmeasures.data.models.time_series:Sensor.search_beliefs
- """
- event_starts_after = AwareDateTimeField()
- event_ends_before = AwareDateTimeField()
- beliefs_before = AwareDateTimeField()
- beliefs_after = AwareDateTimeField()
- horizons_at_least = DurationField()
- horizons_at_most = DurationField()
- source = DataSourceIdField()
- source_types = fields.List(fields.Str())
- exclude_source_types = fields.List(fields.Str())
- most_recent_beliefs_only = fields.Boolean()
- most_recent_events_only = fields.Boolean()
- one_deterministic_belief_per_event = fields.Boolean()
- one_deterministic_belief_per_event_per_source = fields.Boolean()
- resolution = DurationField()
- sum_multiple = fields.Boolean()
- class StatusSchema(Schema):
- max_staleness = DurationField(required=True)
- max_future_staleness = DurationField(required=True)
- staleness_search = fields.Nested(BeliefsSearchConfigSchema(), required=True)
|