"""Schemas modeled from the protobuf demographics. See Also: This nice explanation of `missing vs default`_: - Missing is used for deserialization if the field is not found in the input data. - Default is used for serialization if the input value is missing. .. _Missing vs default: https://github.com/sv-tools/marshmallow-objects/wiki/missing-vs-default """ from marshmallow import EXCLUDE from marshmallow.fields import Integer from delphi_api.v3.data_models.schemas import ma class GenderSchema(ma.Schema): class Meta: unknown = EXCLUDE female = Integer(required=False, missing=0, default=None) male = Integer(required=False, missing=0, default=None) unknown = Integer(required=False, missing=0, default=None) neutral = Integer(required=False, missing=0, default=None) class AppleAgeBandSchema(ma.Schema): class Meta: unknown = EXCLUDE all_18_24 = Integer(required=False, missing=0, default=None) all_25_34 = Integer(required=False, missing=0, default=None) all_35_44 = Integer(required=False, missing=0, default=None) all_45_54 = Integer(required=False, missing=0, default=None) all_55_64 = Integer(required=False, missing=0, default=None) all_65_plus = Integer(required=False, missing=0, default=None) all_unknown = Integer(required=False, missing=0, default=None) male_18_24 = Integer(required=False, missing=0, default=None) male_25_34 = Integer(required=False, missing=0, default=None) male_35_44 = Integer(required=False, missing=0, default=None) male_45_54 = Integer(required=False, missing=0, default=None) male_55_64 = Integer(required=False, missing=0, default=None) male_65_plus = Integer(required=False, missing=0, default=None) male_unknown = Integer(required=False, missing=0, default=None) female_18_24 = Integer(required=False, missing=0, default=None) female_25_34 = Integer(required=False, missing=0, default=None) female_35_44 = Integer(required=False, missing=0, default=None) female_45_54 = Integer(required=False, missing=0, default=None) female_55_64 = Integer(required=False, missing=0, default=None) female_65_plus = Integer(required=False, missing=0, default=None) female_unknown = Integer(required=False, missing=0, default=None) unknown_18_24 = Integer(required=False, missing=0, default=None) unknown_25_34 = Integer(required=False, missing=0, default=None) unknown_35_44 = Integer(required=False, missing=0, default=None) unknown_45_54 = Integer(required=False, missing=0, default=None) unknown_55_64 = Integer(required=False, missing=0, default=None) unknown_65_plus = Integer(required=False, missing=0, default=None) unknown_unknown = Integer(required=False, missing=0, default=None) class SpotifyAgeBandSchema(ma.Schema): class Meta: unknown = EXCLUDE all_0_17 = Integer(required=False, missing=0, default=None) all_18_22 = Integer(required=False, missing=0, default=None) all_23_27 = Integer(required=False, missing=0, default=None) all_28_34 = Integer(required=False, missing=0, default=None) all_35_44 = Integer(required=False, missing=0, default=None) all_45_59 = Integer(required=False, missing=0, default=None) all_60_150 = Integer(required=False, missing=0, default=None) all_unknown = Integer(required=False, missing=0, default=None) female_0_17 = Integer(required=False, missing=0, default=None) female_18_22 = Integer(required=False, missing=0, default=None) female_23_27 = Integer(required=False, missing=0, default=None) female_28_34 = Integer(required=False, missing=0, default=None) female_35_44 = Integer(required=False, missing=0, default=None) female_45_59 = Integer(required=False, missing=0, default=None) female_60_150 = Integer(required=False, missing=0, default=None) female_unknown = Integer(required=False, missing=0, default=None) male_0_17 = Integer(required=False, missing=0, default=None) male_18_22 = Integer(required=False, missing=0, default=None) male_23_27 = Integer(required=False, missing=0, default=None) male_28_34 = Integer(required=False, missing=0, default=None) male_35_44 = Integer(required=False, missing=0, default=None) male_45_59 = Integer(required=False, missing=0, default=None) male_60_150 = Integer(required=False, missing=0, default=None) male_unknown = Integer(required=False, missing=0, default=None) neutral_0_17 = Integer(required=False, missing=0, default=None) neutral_18_22 = Integer(required=False, missing=0, default=None) neutral_23_27 = Integer(required=False, missing=0, default=None) neutral_28_34 = Integer(required=False, missing=0, default=None) neutral_35_44 = Integer(required=False, missing=0, default=None) neutral_45_59 = Integer(required=False, missing=0, default=None) neutral_60_150 = Integer(required=False, missing=0, default=None) neutral_unknown = Integer(required=False, missing=0, default=None) unknown_0_17 = Integer(required=False, missing=0, default=None) unknown_18_22 = Integer(required=False, missing=0, default=None) unknown_23_27 = Integer(required=False, missing=0, default=None) unknown_28_34 = Integer(required=False, missing=0, default=None) unknown_35_44 = Integer(required=False, missing=0, default=None) unknown_45_59 = Integer(required=False, missing=0, default=None) unknown_60_150 = Integer(required=False, missing=0, default=None) unknown_unknown = Integer(required=False, missing=0, default=None) class YouTubeAgeBandSchema(ma.Schema): class Meta: unknown = EXCLUDE all_0_18 = Integer(required=False, missing=0, default=None) all_18_24 = Integer(required=False, missing=0, default=None) all_25_34 = Integer(required=False, missing=0, default=None) all_35_44 = Integer(required=False, missing=0, default=None) all_45_54 = Integer(required=False, missing=0, default=None) all_55_64 = Integer(required=False, missing=0, default=None) all_65_plus = Integer(required=False, missing=0, default=None) all_unknown = Integer(required=False, missing=0, default=None) female_0_18 = Integer(required=False, missing=0, default=None) female_18_24 = Integer(required=False, missing=0, default=None) female_25_34 = Integer(required=False, missing=0, default=None) female_35_44 = Integer(required=False, missing=0, default=None) female_45_54 = Integer(required=False, missing=0, default=None) female_55_64 = Integer(required=False, missing=0, default=None) female_65_plus = Integer(required=False, missing=0, default=None) female_unknown = Integer(required=False, missing=0, default=None) male_0_18 = Integer(required=False, missing=0, default=None) male_18_24 = Integer(required=False, missing=0, default=None) male_25_34 = Integer(required=False, missing=0, default=None) male_35_44 = Integer(required=False, missing=0, default=None) male_45_54 = Integer(required=False, missing=0, default=None) male_55_64 = Integer(required=False, missing=0, default=None) male_65_plus = Integer(required=False, missing=0, default=None) male_unknown = Integer(required=False, missing=0, default=None) unknown_0_18 = Integer(required=False, missing=0, default=None) unknown_18_24 = Integer(required=False, missing=0, default=None) unknown_25_34 = Integer(required=False, missing=0, default=None) unknown_35_44 = Integer(required=False, missing=0, default=None) unknown_45_54 = Integer(required=False, missing=0, default=None) unknown_55_64 = Integer(required=False, missing=0, default=None) unknown_65_plus = Integer(required=False, missing=0, default=None) unknown_unknown = Integer(required=False, missing=0, default=None)