From e909cfdc76aadea28f3cdd3ca885f1ec163cd1b2 Mon Sep 17 00:00:00 2001 From: dakba Date: Fri, 10 Oct 2025 20:08:41 -0400 Subject: [PATCH] feat: add FLAC lossless format support and refactor quality pickers (while staying backward compatible) - Add `FLAC_FLAC` (16), `FLAC_FLAC_24BIT` (22) format codes (based on librespot-org/librespot#796, librespot-org/librespot#1424) - Regenerate Metadata_pb2.py with protoc 3.20.1 - Add enums: `SuperAudioFormat.FLAC`, `AudioQuality.LOSSLESS` - Refactor to generic DRY `FormatOnlyAudioQuality` base class while maintaining existing `VorbisOnlyAudioQuality` as wrapper - Remove `AAC_24_NORM` (replaced by `FLAC_FLAC` at code 16) --- librespot/audio/decoders.py | 83 +- librespot/audio/format.py | 7 +- librespot/proto/Metadata_pb2.py | 3754 +------------------------------ proto/metadata.proto | 3 +- 4 files changed, 142 insertions(+), 3705 deletions(-) diff --git a/librespot/audio/decoders.py b/librespot/audio/decoders.py index d5097ba..dc04a65 100644 --- a/librespot/audio/decoders.py +++ b/librespot/audio/decoders.py @@ -12,13 +12,13 @@ class AudioQuality(enum.Enum): NORMAL = 0x00 HIGH = 0x01 VERY_HIGH = 0x02 + LOSSLESS = 0x03 @staticmethod def get_quality(audio_format: AudioFile.Format) -> AudioQuality: if audio_format in [ AudioFile.MP3_96, AudioFile.OGG_VORBIS_96, - AudioFile.AAC_24_NORM, ]: return AudioQuality.NORMAL if audio_format in [ @@ -35,6 +35,11 @@ class AudioQuality(enum.Enum): AudioFile.AAC_48, ]: return AudioQuality.VERY_HIGH + if audio_format in [ + AudioFile.FLAC_FLAC, + AudioFile.FLAC_FLAC_24BIT, + ]: + return AudioQuality.LOSSLESS raise RuntimeError("Unknown format: {}".format(audio_format)) def get_matches(self, @@ -47,35 +52,71 @@ class AudioQuality(enum.Enum): return file_list -class VorbisOnlyAudioQuality(AudioQualityPicker): - logger = logging.getLogger("Librespot:Player:VorbisOnlyAudioQuality") - preferred: AudioQuality +class FormatOnlyAudioQuality(AudioQualityPicker): + # Generic quality picker; filters files by container format - def __init__(self, preferred: AudioQuality): + logger = logging.getLogger("Librespot:Player:FormatOnlyAudioQuality") + preferred: AudioQuality + format_filter: SuperAudioFormat + + def __init__(self, preferred: AudioQuality, format_filter: SuperAudioFormat): self.preferred = preferred + self.format_filter = format_filter @staticmethod - def get_vorbis_file(files: typing.List[Metadata.AudioFile]): + def get_file_by_format(files: typing.List[Metadata.AudioFile], + format_type: SuperAudioFormat) -> typing.Optional[Metadata.AudioFile]: for file in files: if file.HasField("format") and SuperAudioFormat.get( - file.format) == SuperAudioFormat.VORBIS: + file.format) == format_type: return file return None - def get_file(self, files: typing.List[Metadata.AudioFile]): - matches: typing.List[Metadata.AudioFile] = self.preferred.get_matches( - files) - vorbis: Metadata.AudioFile = VorbisOnlyAudioQuality.get_vorbis_file( - matches) - if vorbis is None: - vorbis: Metadata.AudioFile = VorbisOnlyAudioQuality.get_vorbis_file( - files) - if vorbis is not None: + def get_file(self, files: typing.List[Metadata.AudioFile]) -> typing.Optional[Metadata.AudioFile]: + quality_matches: typing.List[Metadata.AudioFile] = self.preferred.get_matches(files) + + selected_file = self.get_file_by_format(quality_matches, self.format_filter) + + if selected_file is None: + # Try using any file matching the format, regardless of quality + selected_file = self.get_file_by_format(files, self.format_filter) + + if selected_file is not None: + # Found format match (different quality than preferred) self.logger.warning( - "Using {} because preferred {} couldn't be found.".format( - Metadata.AudioFile.Format.Name(vorbis.format), - self.preferred)) + "Using {} format file with {} quality because preferred {} quality couldn't be found.".format( + self.format_filter.name, + AudioQuality.get_quality(selected_file.format).name, + self.preferred.name)) else: + available_formats = [SuperAudioFormat.get(f.format).name + for f in files if f.HasField("format")] self.logger.fatal( - "Couldn't find any Vorbis file, available: {}") - return vorbis + "Couldn't find any {} file. Available formats: {}".format( + self.format_filter.name, + ", ".join(set(available_formats)) if available_formats else "none")) + + return selected_file + + +# Backward-compatible wrapper classes + +class VorbisOnlyAudioQuality(FormatOnlyAudioQuality): + logger = logging.getLogger("Librespot:Player:VorbisOnlyAudioQuality") + + def __init__(self, preferred: AudioQuality): + super().__init__(preferred, SuperAudioFormat.VORBIS) + + @staticmethod + def get_vorbis_file(files: typing.List[Metadata.AudioFile]) -> typing.Optional[Metadata.AudioFile]: + return FormatOnlyAudioQuality.get_file_by_format(files, SuperAudioFormat.VORBIS) + +class LosslessOnlyAudioQuality(FormatOnlyAudioQuality): + logger = logging.getLogger("Librespot:Player:LosslessOnlyAudioQuality") + + def __init__(self, preferred: AudioQuality): + super().__init__(preferred, SuperAudioFormat.FLAC) + + @staticmethod + def get_flac_file(files: typing.List[Metadata.AudioFile]) -> typing.Optional[Metadata.AudioFile]: + return FormatOnlyAudioQuality.get_file_by_format(files, SuperAudioFormat.FLAC) diff --git a/librespot/audio/format.py b/librespot/audio/format.py index 24cb6d9..d6456a6 100644 --- a/librespot/audio/format.py +++ b/librespot/audio/format.py @@ -6,6 +6,7 @@ class SuperAudioFormat(enum.Enum): MP3 = 0x00 VORBIS = 0x01 AAC = 0x02 + FLAC = 0x03 @staticmethod def get(audio_format: Metadata.AudioFile.Format): @@ -26,7 +27,11 @@ class SuperAudioFormat(enum.Enum): if audio_format in [ Metadata.AudioFile.Format.AAC_24, Metadata.AudioFile.Format.AAC_48, - Metadata.AudioFile.Format.AAC_24_NORM, ]: return SuperAudioFormat.AAC + if audio_format in [ + Metadata.AudioFile.Format.FLAC_FLAC, + Metadata.AudioFile.Format.FLAC_FLAC_24BIT, + ]: + return SuperAudioFormat.FLAC raise RuntimeError("Unknown audio format: {}".format(audio_format)) diff --git a/librespot/proto/Metadata_pb2.py b/librespot/proto/Metadata_pb2.py index e8ac38c..05a4573 100644 --- a/librespot/proto/Metadata_pb2.py +++ b/librespot/proto/Metadata_pb2.py @@ -2,3697 +2,87 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: metadata.proto """Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection +from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor.FileDescriptor( - name='metadata.proto', - package='spotify.metadata.proto', - syntax='proto2', - serialized_options=b'\n\024com.spotify.metadataB\010MetadataH\002', - create_key=_descriptor._internal_create_key, - serialized_pb= - b'\n\x0emetadata.proto\x12\x16spotify.metadata.proto\"\x8a\x07\n\x06\x41rtist\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\npopularity\x18\x03 \x01(\x11\x12\x34\n\ttop_track\x18\x04 \x03(\x0b\x32!.spotify.metadata.proto.TopTracks\x12\x37\n\x0b\x61lbum_group\x18\x05 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12\x38\n\x0csingle_group\x18\x06 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12=\n\x11\x63ompilation_group\x18\x07 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12<\n\x10\x61ppears_on_group\x18\x08 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12\r\n\x05genre\x18\t \x03(\t\x12\x37\n\x0b\x65xternal_id\x18\n \x03(\x0b\x32\".spotify.metadata.proto.ExternalId\x12/\n\x08portrait\x18\x0b \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\x12\x34\n\tbiography\x18\x0c \x03(\x0b\x32!.spotify.metadata.proto.Biography\x12?\n\x0f\x61\x63tivity_period\x18\r \x03(\x0b\x32&.spotify.metadata.proto.ActivityPeriod\x12\x38\n\x0brestriction\x18\x0e \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12/\n\x07related\x18\x0f \x03(\x0b\x32\x1e.spotify.metadata.proto.Artist\x12\x1f\n\x17is_portrait_album_cover\x18\x10 \x01(\x08\x12:\n\x0eportrait_group\x18\x11 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x37\n\x0bsale_period\x18\x12 \x03(\x0b\x32\".spotify.metadata.proto.SalePeriod\x12:\n\x0c\x61vailability\x18\x14 \x03(\x0b\x32$.spotify.metadata.proto.Availability\"\xe8\x06\n\x05\x41lbum\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12.\n\x06\x61rtist\x18\x03 \x03(\x0b\x32\x1e.spotify.metadata.proto.Artist\x12\x30\n\x04type\x18\x04 \x01(\x0e\x32\".spotify.metadata.proto.Album.Type\x12\r\n\x05label\x18\x05 \x01(\t\x12*\n\x04\x64\x61te\x18\x06 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\x12\x12\n\npopularity\x18\x07 \x01(\x11\x12\r\n\x05genre\x18\x08 \x03(\t\x12,\n\x05\x63over\x18\t \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\x12\x37\n\x0b\x65xternal_id\x18\n \x03(\x0b\x32\".spotify.metadata.proto.ExternalId\x12*\n\x04\x64isc\x18\x0b \x03(\x0b\x32\x1c.spotify.metadata.proto.Disc\x12\x0e\n\x06review\x18\x0c \x03(\t\x12\x34\n\tcopyright\x18\r \x03(\x0b\x32!.spotify.metadata.proto.Copyright\x12\x38\n\x0brestriction\x18\x0e \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12.\n\x07related\x18\x0f \x03(\x0b\x32\x1d.spotify.metadata.proto.Album\x12\x37\n\x0bsale_period\x18\x10 \x03(\x0b\x32\".spotify.metadata.proto.SalePeriod\x12\x37\n\x0b\x63over_group\x18\x11 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x16\n\x0eoriginal_title\x18\x12 \x01(\t\x12\x15\n\rversion_title\x18\x13 \x01(\t\x12\x10\n\x08type_str\x18\x14 \x01(\t\x12:\n\x0c\x61vailability\x18\x17 \x03(\x0b\x32$.spotify.metadata.proto.Availability\"R\n\x04Type\x12\t\n\x05\x41LBUM\x10\x01\x12\n\n\x06SINGLE\x10\x02\x12\x0f\n\x0b\x43OMPILATION\x10\x03\x12\x06\n\x02\x45P\x10\x04\x12\r\n\tAUDIOBOOK\x10\x05\x12\x0b\n\x07PODCAST\x10\x06\"\xd5\x05\n\x05Track\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\x05\x61lbum\x18\x03 \x01(\x0b\x32\x1d.spotify.metadata.proto.Album\x12.\n\x06\x61rtist\x18\x04 \x03(\x0b\x32\x1e.spotify.metadata.proto.Artist\x12\x0e\n\x06number\x18\x05 \x01(\x11\x12\x13\n\x0b\x64isc_number\x18\x06 \x01(\x11\x12\x10\n\x08\x64uration\x18\x07 \x01(\x11\x12\x12\n\npopularity\x18\x08 \x01(\x11\x12\x10\n\x08\x65xplicit\x18\t \x01(\x08\x12\x37\n\x0b\x65xternal_id\x18\n \x03(\x0b\x32\".spotify.metadata.proto.ExternalId\x12\x38\n\x0brestriction\x18\x0b \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12/\n\x04\x66ile\x18\x0c \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x32\n\x0b\x61lternative\x18\r \x03(\x0b\x32\x1d.spotify.metadata.proto.Track\x12\x37\n\x0bsale_period\x18\x0e \x03(\x0b\x32\".spotify.metadata.proto.SalePeriod\x12\x32\n\x07preview\x18\x0f \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x0c\n\x04tags\x18\x10 \x03(\t\x12\x1f\n\x17\x65\x61rliest_live_timestamp\x18\x11 \x01(\x03\x12\x12\n\nhas_lyrics\x18\x12 \x01(\x08\x12:\n\x0c\x61vailability\x18\x13 \x03(\x0b\x32$.spotify.metadata.proto.Availability\x12\x32\n\x08licensor\x18\x15 \x01(\x0b\x32 .spotify.metadata.proto.Licensor\"\xbf\x05\n\x04Show\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18@ \x01(\t\x12!\n\x15\x64\x65precated_popularity\x18\x41 \x01(\x11\x42\x02\x18\x01\x12\x11\n\tpublisher\x18\x42 \x01(\t\x12\x10\n\x08language\x18\x43 \x01(\t\x12\x10\n\x08\x65xplicit\x18\x44 \x01(\x08\x12\x37\n\x0b\x63over_image\x18\x45 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x30\n\x07\x65pisode\x18\x46 \x03(\x0b\x32\x1f.spotify.metadata.proto.Episode\x12\x34\n\tcopyright\x18G \x03(\x0b\x32!.spotify.metadata.proto.Copyright\x12\x38\n\x0brestriction\x18H \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12\x0f\n\x07keyword\x18I \x03(\t\x12:\n\nmedia_type\x18J \x01(\x0e\x32&.spotify.metadata.proto.Show.MediaType\x12H\n\x11\x63onsumption_order\x18K \x01(\x0e\x32-.spotify.metadata.proto.Show.ConsumptionOrder\x12:\n\x0c\x61vailability\x18N \x03(\x0b\x32$.spotify.metadata.proto.Availability\x12\x13\n\x0btrailer_uri\x18S \x01(\t\",\n\tMediaType\x12\t\n\x05MIXED\x10\x00\x12\t\n\x05\x41UDIO\x10\x01\x12\t\n\x05VIDEO\x10\x02\"<\n\x10\x43onsumptionOrder\x12\x0e\n\nSEQUENTIAL\x10\x01\x12\x0c\n\x08\x45PISODIC\x10\x02\x12\n\n\x06RECENT\x10\x03\"\xf9\x06\n\x07\x45pisode\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x64uration\x18\x07 \x01(\x11\x12\x30\n\x05\x61udio\x18\x0c \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x13\n\x0b\x64\x65scription\x18@ \x01(\t\x12\x0e\n\x06number\x18\x41 \x01(\x11\x12\x32\n\x0cpublish_time\x18\x42 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\x12!\n\x15\x64\x65precated_popularity\x18\x43 \x01(\x11\x42\x02\x18\x01\x12\x37\n\x0b\x63over_image\x18\x44 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x10\n\x08language\x18\x45 \x01(\t\x12\x10\n\x08\x65xplicit\x18\x46 \x01(\x08\x12*\n\x04show\x18G \x01(\x0b\x32\x1c.spotify.metadata.proto.Show\x12\x30\n\x05video\x18H \x03(\x0b\x32!.spotify.metadata.proto.VideoFile\x12\x38\n\rvideo_preview\x18I \x03(\x0b\x32!.spotify.metadata.proto.VideoFile\x12\x38\n\raudio_preview\x18J \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x38\n\x0brestriction\x18K \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12\x38\n\x0c\x66reeze_frame\x18L \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x0f\n\x07keyword\x18M \x03(\t\x12!\n\x19\x61llow_background_playback\x18Q \x01(\x08\x12:\n\x0c\x61vailability\x18R \x03(\x0b\x32$.spotify.metadata.proto.Availability\x12\x14\n\x0c\x65xternal_url\x18S \x01(\t\x12\x39\n\x04type\x18W \x01(\x0e\x32+.spotify.metadata.proto.Episode.EpisodeType\"/\n\x0b\x45pisodeType\x12\x08\n\x04\x46ULL\x10\x00\x12\x0b\n\x07TRAILER\x10\x01\x12\t\n\x05\x42ONUS\x10\x02\"\x18\n\x08Licensor\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c\"J\n\tTopTracks\x12\x0f\n\x07\x63ountry\x18\x01 \x01(\t\x12,\n\x05track\x18\x02 \x03(\x0b\x32\x1d.spotify.metadata.proto.Track\"F\n\x0e\x41\x63tivityPeriod\x12\x12\n\nstart_year\x18\x01 \x01(\x11\x12\x10\n\x08\x65nd_year\x18\x02 \x01(\x11\x12\x0e\n\x06\x64\x65\x63\x61\x64\x65\x18\x03 \x01(\x11\":\n\nAlbumGroup\x12,\n\x05\x61lbum\x18\x01 \x03(\x0b\x32\x1d.spotify.metadata.proto.Album\"N\n\x04\x44\x61te\x12\x0c\n\x04year\x18\x01 \x01(\x11\x12\r\n\x05month\x18\x02 \x01(\x11\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\x11\x12\x0c\n\x04hour\x18\x04 \x01(\x11\x12\x0e\n\x06minute\x18\x05 \x01(\x11\"\xa0\x01\n\x05Image\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\x0c\x12\x30\n\x04size\x18\x02 \x01(\x0e\x32\".spotify.metadata.proto.Image.Size\x12\r\n\x05width\x18\x03 \x01(\x11\x12\x0e\n\x06height\x18\x04 \x01(\x11\"5\n\x04Size\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05SMALL\x10\x01\x12\t\n\x05LARGE\x10\x02\x12\n\n\x06XLARGE\x10\x03\":\n\nImageGroup\x12,\n\x05image\x18\x01 \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\"\x86\x01\n\tBiography\x12\x0c\n\x04text\x18\x01 \x01(\t\x12/\n\x08portrait\x18\x02 \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\x12:\n\x0eportrait_group\x18\x03 \x03(\x0b\x32\".spotify.metadata.proto.ImageGroup\"R\n\x04\x44isc\x12\x0e\n\x06number\x18\x01 \x01(\x11\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\x05track\x18\x03 \x03(\x0b\x32\x1d.spotify.metadata.proto.Track\"e\n\tCopyright\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.spotify.metadata.proto.Copyright.Type\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x14\n\x04Type\x12\x05\n\x01P\x10\x00\x12\x05\n\x01\x43\x10\x01\"\xdf\x02\n\x0bRestriction\x12@\n\tcatalogue\x18\x01 \x03(\x0e\x32-.spotify.metadata.proto.Restriction.Catalogue\x12\x36\n\x04type\x18\x04 \x01(\x0e\x32(.spotify.metadata.proto.Restriction.Type\x12\x15\n\rcatalogue_str\x18\x05 \x03(\t\x12\x1b\n\x11\x63ountries_allowed\x18\x02 \x01(\tH\x00\x12\x1d\n\x13\x63ountries_forbidden\x18\x03 \x01(\tH\x00\"U\n\tCatalogue\x12\x06\n\x02\x41\x44\x10\x00\x12\x10\n\x0cSUBSCRIPTION\x10\x01\x12\x11\n\rCATALOGUE_ALL\x10\x02\x12\x0b\n\x07SHUFFLE\x10\x03\x12\x0e\n\nCOMMERCIAL\x10\x04\"\x15\n\x04Type\x12\r\n\tSTREAMING\x10\x00\x42\x15\n\x13\x63ountry_restriction\"R\n\x0c\x41vailability\x12\x15\n\rcatalogue_str\x18\x01 \x03(\t\x12+\n\x05start\x18\x02 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\"\x9e\x01\n\nSalePeriod\x12\x38\n\x0brestriction\x18\x01 \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12+\n\x05start\x18\x02 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\x12)\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\"&\n\nExternalId\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\"\x89\x02\n\tAudioFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\x0c\x12\x38\n\x06\x66ormat\x18\x02 \x01(\x0e\x32(.spotify.metadata.proto.AudioFile.Format\"\xb0\x01\n\x06\x46ormat\x12\x11\n\rOGG_VORBIS_96\x10\x00\x12\x12\n\x0eOGG_VORBIS_160\x10\x01\x12\x12\n\x0eOGG_VORBIS_320\x10\x02\x12\x0b\n\x07MP3_256\x10\x03\x12\x0b\n\x07MP3_320\x10\x04\x12\x0b\n\x07MP3_160\x10\x05\x12\n\n\x06MP3_96\x10\x06\x12\x0f\n\x0bMP3_160_ENC\x10\x07\x12\n\n\x06\x41\x41\x43_24\x10\x08\x12\n\n\x06\x41\x41\x43_48\x10\t\x12\x0f\n\x0b\x41\x41\x43_24_NORM\x10\x10\"\x1c\n\tVideoFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\x0c\x42\"\n\x14\x63om.spotify.metadataB\x08MetadataH\x02' -) -_ALBUM_TYPE = _descriptor.EnumDescriptor( - name='Type', - full_name='spotify.metadata.proto.Album.Type', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='ALBUM', - index=0, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SINGLE', - index=1, - number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='COMPILATION', - index=2, - number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EP', - index=3, - number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='AUDIOBOOK', - index=4, - number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='PODCAST', - index=5, - number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=1742, - serialized_end=1824, -) -_sym_db.RegisterEnumDescriptor(_ALBUM_TYPE) -_SHOW_MEDIATYPE = _descriptor.EnumDescriptor( - name='MediaType', - full_name='spotify.metadata.proto.Show.MediaType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='MIXED', - index=0, - number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='AUDIO', - index=1, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='VIDEO', - index=2, - number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=3152, - serialized_end=3196, -) -_sym_db.RegisterEnumDescriptor(_SHOW_MEDIATYPE) -_SHOW_CONSUMPTIONORDER = _descriptor.EnumDescriptor( - name='ConsumptionOrder', - full_name='spotify.metadata.proto.Show.ConsumptionOrder', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='SEQUENTIAL', - index=0, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='EPISODIC', - index=1, - number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='RECENT', - index=2, - number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=3198, - serialized_end=3258, -) -_sym_db.RegisterEnumDescriptor(_SHOW_CONSUMPTIONORDER) +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0emetadata.proto\x12\x16spotify.metadata.proto\"\x8a\x07\n\x06\x41rtist\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\npopularity\x18\x03 \x01(\x11\x12\x34\n\ttop_track\x18\x04 \x03(\x0b\x32!.spotify.metadata.proto.TopTracks\x12\x37\n\x0b\x61lbum_group\x18\x05 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12\x38\n\x0csingle_group\x18\x06 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12=\n\x11\x63ompilation_group\x18\x07 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12<\n\x10\x61ppears_on_group\x18\x08 \x03(\x0b\x32\".spotify.metadata.proto.AlbumGroup\x12\r\n\x05genre\x18\t \x03(\t\x12\x37\n\x0b\x65xternal_id\x18\n \x03(\x0b\x32\".spotify.metadata.proto.ExternalId\x12/\n\x08portrait\x18\x0b \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\x12\x34\n\tbiography\x18\x0c \x03(\x0b\x32!.spotify.metadata.proto.Biography\x12?\n\x0f\x61\x63tivity_period\x18\r \x03(\x0b\x32&.spotify.metadata.proto.ActivityPeriod\x12\x38\n\x0brestriction\x18\x0e \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12/\n\x07related\x18\x0f \x03(\x0b\x32\x1e.spotify.metadata.proto.Artist\x12\x1f\n\x17is_portrait_album_cover\x18\x10 \x01(\x08\x12:\n\x0eportrait_group\x18\x11 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x37\n\x0bsale_period\x18\x12 \x03(\x0b\x32\".spotify.metadata.proto.SalePeriod\x12:\n\x0c\x61vailability\x18\x14 \x03(\x0b\x32$.spotify.metadata.proto.Availability\"\xe8\x06\n\x05\x41lbum\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12.\n\x06\x61rtist\x18\x03 \x03(\x0b\x32\x1e.spotify.metadata.proto.Artist\x12\x30\n\x04type\x18\x04 \x01(\x0e\x32\".spotify.metadata.proto.Album.Type\x12\r\n\x05label\x18\x05 \x01(\t\x12*\n\x04\x64\x61te\x18\x06 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\x12\x12\n\npopularity\x18\x07 \x01(\x11\x12\r\n\x05genre\x18\x08 \x03(\t\x12,\n\x05\x63over\x18\t \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\x12\x37\n\x0b\x65xternal_id\x18\n \x03(\x0b\x32\".spotify.metadata.proto.ExternalId\x12*\n\x04\x64isc\x18\x0b \x03(\x0b\x32\x1c.spotify.metadata.proto.Disc\x12\x0e\n\x06review\x18\x0c \x03(\t\x12\x34\n\tcopyright\x18\r \x03(\x0b\x32!.spotify.metadata.proto.Copyright\x12\x38\n\x0brestriction\x18\x0e \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12.\n\x07related\x18\x0f \x03(\x0b\x32\x1d.spotify.metadata.proto.Album\x12\x37\n\x0bsale_period\x18\x10 \x03(\x0b\x32\".spotify.metadata.proto.SalePeriod\x12\x37\n\x0b\x63over_group\x18\x11 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x16\n\x0eoriginal_title\x18\x12 \x01(\t\x12\x15\n\rversion_title\x18\x13 \x01(\t\x12\x10\n\x08type_str\x18\x14 \x01(\t\x12:\n\x0c\x61vailability\x18\x17 \x03(\x0b\x32$.spotify.metadata.proto.Availability\"R\n\x04Type\x12\t\n\x05\x41LBUM\x10\x01\x12\n\n\x06SINGLE\x10\x02\x12\x0f\n\x0b\x43OMPILATION\x10\x03\x12\x06\n\x02\x45P\x10\x04\x12\r\n\tAUDIOBOOK\x10\x05\x12\x0b\n\x07PODCAST\x10\x06\"\xd5\x05\n\x05Track\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\x05\x61lbum\x18\x03 \x01(\x0b\x32\x1d.spotify.metadata.proto.Album\x12.\n\x06\x61rtist\x18\x04 \x03(\x0b\x32\x1e.spotify.metadata.proto.Artist\x12\x0e\n\x06number\x18\x05 \x01(\x11\x12\x13\n\x0b\x64isc_number\x18\x06 \x01(\x11\x12\x10\n\x08\x64uration\x18\x07 \x01(\x11\x12\x12\n\npopularity\x18\x08 \x01(\x11\x12\x10\n\x08\x65xplicit\x18\t \x01(\x08\x12\x37\n\x0b\x65xternal_id\x18\n \x03(\x0b\x32\".spotify.metadata.proto.ExternalId\x12\x38\n\x0brestriction\x18\x0b \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12/\n\x04\x66ile\x18\x0c \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x32\n\x0b\x61lternative\x18\r \x03(\x0b\x32\x1d.spotify.metadata.proto.Track\x12\x37\n\x0bsale_period\x18\x0e \x03(\x0b\x32\".spotify.metadata.proto.SalePeriod\x12\x32\n\x07preview\x18\x0f \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x0c\n\x04tags\x18\x10 \x03(\t\x12\x1f\n\x17\x65\x61rliest_live_timestamp\x18\x11 \x01(\x03\x12\x12\n\nhas_lyrics\x18\x12 \x01(\x08\x12:\n\x0c\x61vailability\x18\x13 \x03(\x0b\x32$.spotify.metadata.proto.Availability\x12\x32\n\x08licensor\x18\x15 \x01(\x0b\x32 .spotify.metadata.proto.Licensor\"\xbf\x05\n\x04Show\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18@ \x01(\t\x12!\n\x15\x64\x65precated_popularity\x18\x41 \x01(\x11\x42\x02\x18\x01\x12\x11\n\tpublisher\x18\x42 \x01(\t\x12\x10\n\x08language\x18\x43 \x01(\t\x12\x10\n\x08\x65xplicit\x18\x44 \x01(\x08\x12\x37\n\x0b\x63over_image\x18\x45 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x30\n\x07\x65pisode\x18\x46 \x03(\x0b\x32\x1f.spotify.metadata.proto.Episode\x12\x34\n\tcopyright\x18G \x03(\x0b\x32!.spotify.metadata.proto.Copyright\x12\x38\n\x0brestriction\x18H \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12\x0f\n\x07keyword\x18I \x03(\t\x12:\n\nmedia_type\x18J \x01(\x0e\x32&.spotify.metadata.proto.Show.MediaType\x12H\n\x11\x63onsumption_order\x18K \x01(\x0e\x32-.spotify.metadata.proto.Show.ConsumptionOrder\x12:\n\x0c\x61vailability\x18N \x03(\x0b\x32$.spotify.metadata.proto.Availability\x12\x13\n\x0btrailer_uri\x18S \x01(\t\",\n\tMediaType\x12\t\n\x05MIXED\x10\x00\x12\t\n\x05\x41UDIO\x10\x01\x12\t\n\x05VIDEO\x10\x02\"<\n\x10\x43onsumptionOrder\x12\x0e\n\nSEQUENTIAL\x10\x01\x12\x0c\n\x08\x45PISODIC\x10\x02\x12\n\n\x06RECENT\x10\x03\"\xf9\x06\n\x07\x45pisode\x12\x0b\n\x03gid\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x64uration\x18\x07 \x01(\x11\x12\x30\n\x05\x61udio\x18\x0c \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x13\n\x0b\x64\x65scription\x18@ \x01(\t\x12\x0e\n\x06number\x18\x41 \x01(\x11\x12\x32\n\x0cpublish_time\x18\x42 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\x12!\n\x15\x64\x65precated_popularity\x18\x43 \x01(\x11\x42\x02\x18\x01\x12\x37\n\x0b\x63over_image\x18\x44 \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x10\n\x08language\x18\x45 \x01(\t\x12\x10\n\x08\x65xplicit\x18\x46 \x01(\x08\x12*\n\x04show\x18G \x01(\x0b\x32\x1c.spotify.metadata.proto.Show\x12\x30\n\x05video\x18H \x03(\x0b\x32!.spotify.metadata.proto.VideoFile\x12\x38\n\rvideo_preview\x18I \x03(\x0b\x32!.spotify.metadata.proto.VideoFile\x12\x38\n\raudio_preview\x18J \x03(\x0b\x32!.spotify.metadata.proto.AudioFile\x12\x38\n\x0brestriction\x18K \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12\x38\n\x0c\x66reeze_frame\x18L \x01(\x0b\x32\".spotify.metadata.proto.ImageGroup\x12\x0f\n\x07keyword\x18M \x03(\t\x12!\n\x19\x61llow_background_playback\x18Q \x01(\x08\x12:\n\x0c\x61vailability\x18R \x03(\x0b\x32$.spotify.metadata.proto.Availability\x12\x14\n\x0c\x65xternal_url\x18S \x01(\t\x12\x39\n\x04type\x18W \x01(\x0e\x32+.spotify.metadata.proto.Episode.EpisodeType\"/\n\x0b\x45pisodeType\x12\x08\n\x04\x46ULL\x10\x00\x12\x0b\n\x07TRAILER\x10\x01\x12\t\n\x05\x42ONUS\x10\x02\"\x18\n\x08Licensor\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c\"J\n\tTopTracks\x12\x0f\n\x07\x63ountry\x18\x01 \x01(\t\x12,\n\x05track\x18\x02 \x03(\x0b\x32\x1d.spotify.metadata.proto.Track\"F\n\x0e\x41\x63tivityPeriod\x12\x12\n\nstart_year\x18\x01 \x01(\x11\x12\x10\n\x08\x65nd_year\x18\x02 \x01(\x11\x12\x0e\n\x06\x64\x65\x63\x61\x64\x65\x18\x03 \x01(\x11\":\n\nAlbumGroup\x12,\n\x05\x61lbum\x18\x01 \x03(\x0b\x32\x1d.spotify.metadata.proto.Album\"N\n\x04\x44\x61te\x12\x0c\n\x04year\x18\x01 \x01(\x11\x12\r\n\x05month\x18\x02 \x01(\x11\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\x11\x12\x0c\n\x04hour\x18\x04 \x01(\x11\x12\x0e\n\x06minute\x18\x05 \x01(\x11\"\xa0\x01\n\x05Image\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\x0c\x12\x30\n\x04size\x18\x02 \x01(\x0e\x32\".spotify.metadata.proto.Image.Size\x12\r\n\x05width\x18\x03 \x01(\x11\x12\x0e\n\x06height\x18\x04 \x01(\x11\"5\n\x04Size\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05SMALL\x10\x01\x12\t\n\x05LARGE\x10\x02\x12\n\n\x06XLARGE\x10\x03\":\n\nImageGroup\x12,\n\x05image\x18\x01 \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\"\x86\x01\n\tBiography\x12\x0c\n\x04text\x18\x01 \x01(\t\x12/\n\x08portrait\x18\x02 \x03(\x0b\x32\x1d.spotify.metadata.proto.Image\x12:\n\x0eportrait_group\x18\x03 \x03(\x0b\x32\".spotify.metadata.proto.ImageGroup\"R\n\x04\x44isc\x12\x0e\n\x06number\x18\x01 \x01(\x11\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\x05track\x18\x03 \x03(\x0b\x32\x1d.spotify.metadata.proto.Track\"e\n\tCopyright\x12\x34\n\x04type\x18\x01 \x01(\x0e\x32&.spotify.metadata.proto.Copyright.Type\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x14\n\x04Type\x12\x05\n\x01P\x10\x00\x12\x05\n\x01\x43\x10\x01\"\xdf\x02\n\x0bRestriction\x12@\n\tcatalogue\x18\x01 \x03(\x0e\x32-.spotify.metadata.proto.Restriction.Catalogue\x12\x36\n\x04type\x18\x04 \x01(\x0e\x32(.spotify.metadata.proto.Restriction.Type\x12\x15\n\rcatalogue_str\x18\x05 \x03(\t\x12\x1b\n\x11\x63ountries_allowed\x18\x02 \x01(\tH\x00\x12\x1d\n\x13\x63ountries_forbidden\x18\x03 \x01(\tH\x00\"U\n\tCatalogue\x12\x06\n\x02\x41\x44\x10\x00\x12\x10\n\x0cSUBSCRIPTION\x10\x01\x12\x11\n\rCATALOGUE_ALL\x10\x02\x12\x0b\n\x07SHUFFLE\x10\x03\x12\x0e\n\nCOMMERCIAL\x10\x04\"\x15\n\x04Type\x12\r\n\tSTREAMING\x10\x00\x42\x15\n\x13\x63ountry_restriction\"R\n\x0c\x41vailability\x12\x15\n\rcatalogue_str\x18\x01 \x03(\t\x12+\n\x05start\x18\x02 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\"\x9e\x01\n\nSalePeriod\x12\x38\n\x0brestriction\x18\x01 \x03(\x0b\x32#.spotify.metadata.proto.Restriction\x12+\n\x05start\x18\x02 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\x12)\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1c.spotify.metadata.proto.Date\"&\n\nExternalId\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\"\x9c\x02\n\tAudioFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\x0c\x12\x38\n\x06\x66ormat\x18\x02 \x01(\x0e\x32(.spotify.metadata.proto.AudioFile.Format\"\xc3\x01\n\x06\x46ormat\x12\x11\n\rOGG_VORBIS_96\x10\x00\x12\x12\n\x0eOGG_VORBIS_160\x10\x01\x12\x12\n\x0eOGG_VORBIS_320\x10\x02\x12\x0b\n\x07MP3_256\x10\x03\x12\x0b\n\x07MP3_320\x10\x04\x12\x0b\n\x07MP3_160\x10\x05\x12\n\n\x06MP3_96\x10\x06\x12\x0f\n\x0bMP3_160_ENC\x10\x07\x12\n\n\x06\x41\x41\x43_24\x10\x08\x12\n\n\x06\x41\x41\x43_48\x10\t\x12\r\n\tFLAC_FLAC\x10\x10\x12\x13\n\x0f\x46LAC_FLAC_24BIT\x10\x16\"\x1c\n\tVideoFile\x12\x0f\n\x07\x66ile_id\x18\x01 \x01(\x0c\x42\"\n\x14\x63om.spotify.metadataB\x08MetadataH\x02') -_EPISODE_EPISODETYPE = _descriptor.EnumDescriptor( - name='EpisodeType', - full_name='spotify.metadata.proto.Episode.EpisodeType', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='FULL', - index=0, - number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='TRAILER', - index=1, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='BONUS', - index=2, - number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4103, - serialized_end=4150, -) -_sym_db.RegisterEnumDescriptor(_EPISODE_EPISODETYPE) +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'metadata_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: -_IMAGE_SIZE = _descriptor.EnumDescriptor( - name='Size', - full_name='spotify.metadata.proto.Image.Size', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='DEFAULT', - index=0, - number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SMALL', - index=1, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='LARGE', - index=2, - number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='XLARGE', - index=3, - number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4574, - serialized_end=4627, -) -_sym_db.RegisterEnumDescriptor(_IMAGE_SIZE) - -_COPYRIGHT_TYPE = _descriptor.EnumDescriptor( - name='Type', - full_name='spotify.metadata.proto.Copyright.Type', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='P', - index=0, - number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='C', - index=1, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=4991, - serialized_end=5011, -) -_sym_db.RegisterEnumDescriptor(_COPYRIGHT_TYPE) - -_RESTRICTION_CATALOGUE = _descriptor.EnumDescriptor( - name='Catalogue', - full_name='spotify.metadata.proto.Restriction.Catalogue', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='AD', - index=0, - number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SUBSCRIPTION', - index=1, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='CATALOGUE_ALL', - index=2, - number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='SHUFFLE', - index=3, - number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='COMMERCIAL', - index=4, - number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5234, - serialized_end=5319, -) -_sym_db.RegisterEnumDescriptor(_RESTRICTION_CATALOGUE) - -_RESTRICTION_TYPE = _descriptor.EnumDescriptor( - name='Type', - full_name='spotify.metadata.proto.Restriction.Type', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='STREAMING', - index=0, - number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5321, - serialized_end=5342, -) -_sym_db.RegisterEnumDescriptor(_RESTRICTION_TYPE) - -_AUDIOFILE_FORMAT = _descriptor.EnumDescriptor( - name='Format', - full_name='spotify.metadata.proto.AudioFile.Format', - filename=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key, - values=[ - _descriptor.EnumValueDescriptor( - name='OGG_VORBIS_96', - index=0, - number=0, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='OGG_VORBIS_160', - index=1, - number=1, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='OGG_VORBIS_320', - index=2, - number=2, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='MP3_256', - index=3, - number=3, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='MP3_320', - index=4, - number=4, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='MP3_160', - index=5, - number=5, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='MP3_96', - index=6, - number=6, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='MP3_160_ENC', - index=7, - number=7, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='AAC_24', - index=8, - number=8, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='AAC_48', - index=9, - number=9, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor( - name='AAC_24_NORM', - index=10, - number=16, - serialized_options=None, - type=None, - create_key=_descriptor._internal_create_key), - ], - containing_type=None, - serialized_options=None, - serialized_start=5742, - serialized_end=5918, -) -_sym_db.RegisterEnumDescriptor(_AUDIOFILE_FORMAT) - -_ARTIST = _descriptor.Descriptor( - name='Artist', - full_name='spotify.metadata.proto.Artist', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='gid', - full_name='spotify.metadata.proto.Artist.gid', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='name', - full_name='spotify.metadata.proto.Artist.name', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='popularity', - full_name='spotify.metadata.proto.Artist.popularity', - index=2, - number=3, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='top_track', - full_name='spotify.metadata.proto.Artist.top_track', - index=3, - number=4, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='album_group', - full_name='spotify.metadata.proto.Artist.album_group', - index=4, - number=5, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='single_group', - full_name='spotify.metadata.proto.Artist.single_group', - index=5, - number=6, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='compilation_group', - full_name='spotify.metadata.proto.Artist.compilation_group', - index=6, - number=7, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='appears_on_group', - full_name='spotify.metadata.proto.Artist.appears_on_group', - index=7, - number=8, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='genre', - full_name='spotify.metadata.proto.Artist.genre', - index=8, - number=9, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='external_id', - full_name='spotify.metadata.proto.Artist.external_id', - index=9, - number=10, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='portrait', - full_name='spotify.metadata.proto.Artist.portrait', - index=10, - number=11, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='biography', - full_name='spotify.metadata.proto.Artist.biography', - index=11, - number=12, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='activity_period', - full_name='spotify.metadata.proto.Artist.activity_period', - index=12, - number=13, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='restriction', - full_name='spotify.metadata.proto.Artist.restriction', - index=13, - number=14, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='related', - full_name='spotify.metadata.proto.Artist.related', - index=14, - number=15, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='is_portrait_album_cover', - full_name='spotify.metadata.proto.Artist.is_portrait_album_cover', - index=15, - number=16, - type=8, - cpp_type=7, - label=1, - has_default_value=False, - default_value=False, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='portrait_group', - full_name='spotify.metadata.proto.Artist.portrait_group', - index=16, - number=17, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sale_period', - full_name='spotify.metadata.proto.Artist.sale_period', - index=17, - number=18, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='availability', - full_name='spotify.metadata.proto.Artist.availability', - index=18, - number=20, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=43, - serialized_end=949, -) - -_ALBUM = _descriptor.Descriptor( - name='Album', - full_name='spotify.metadata.proto.Album', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='gid', - full_name='spotify.metadata.proto.Album.gid', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='name', - full_name='spotify.metadata.proto.Album.name', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='artist', - full_name='spotify.metadata.proto.Album.artist', - index=2, - number=3, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='type', - full_name='spotify.metadata.proto.Album.type', - index=3, - number=4, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=1, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='label', - full_name='spotify.metadata.proto.Album.label', - index=4, - number=5, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='date', - full_name='spotify.metadata.proto.Album.date', - index=5, - number=6, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='popularity', - full_name='spotify.metadata.proto.Album.popularity', - index=6, - number=7, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='genre', - full_name='spotify.metadata.proto.Album.genre', - index=7, - number=8, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='cover', - full_name='spotify.metadata.proto.Album.cover', - index=8, - number=9, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='external_id', - full_name='spotify.metadata.proto.Album.external_id', - index=9, - number=10, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='disc', - full_name='spotify.metadata.proto.Album.disc', - index=10, - number=11, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='review', - full_name='spotify.metadata.proto.Album.review', - index=11, - number=12, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='copyright', - full_name='spotify.metadata.proto.Album.copyright', - index=12, - number=13, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='restriction', - full_name='spotify.metadata.proto.Album.restriction', - index=13, - number=14, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='related', - full_name='spotify.metadata.proto.Album.related', - index=14, - number=15, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sale_period', - full_name='spotify.metadata.proto.Album.sale_period', - index=15, - number=16, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='cover_group', - full_name='spotify.metadata.proto.Album.cover_group', - index=16, - number=17, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='original_title', - full_name='spotify.metadata.proto.Album.original_title', - index=17, - number=18, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='version_title', - full_name='spotify.metadata.proto.Album.version_title', - index=18, - number=19, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='type_str', - full_name='spotify.metadata.proto.Album.type_str', - index=19, - number=20, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='availability', - full_name='spotify.metadata.proto.Album.availability', - index=20, - number=23, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[ - _ALBUM_TYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=952, - serialized_end=1824, -) - -_TRACK = _descriptor.Descriptor( - name='Track', - full_name='spotify.metadata.proto.Track', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='gid', - full_name='spotify.metadata.proto.Track.gid', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='name', - full_name='spotify.metadata.proto.Track.name', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='album', - full_name='spotify.metadata.proto.Track.album', - index=2, - number=3, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='artist', - full_name='spotify.metadata.proto.Track.artist', - index=3, - number=4, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number', - full_name='spotify.metadata.proto.Track.number', - index=4, - number=5, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='disc_number', - full_name='spotify.metadata.proto.Track.disc_number', - index=5, - number=6, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='duration', - full_name='spotify.metadata.proto.Track.duration', - index=6, - number=7, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='popularity', - full_name='spotify.metadata.proto.Track.popularity', - index=7, - number=8, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='explicit', - full_name='spotify.metadata.proto.Track.explicit', - index=8, - number=9, - type=8, - cpp_type=7, - label=1, - has_default_value=False, - default_value=False, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='external_id', - full_name='spotify.metadata.proto.Track.external_id', - index=9, - number=10, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='restriction', - full_name='spotify.metadata.proto.Track.restriction', - index=10, - number=11, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='file', - full_name='spotify.metadata.proto.Track.file', - index=11, - number=12, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='alternative', - full_name='spotify.metadata.proto.Track.alternative', - index=12, - number=13, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sale_period', - full_name='spotify.metadata.proto.Track.sale_period', - index=13, - number=14, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='preview', - full_name='spotify.metadata.proto.Track.preview', - index=14, - number=15, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='tags', - full_name='spotify.metadata.proto.Track.tags', - index=15, - number=16, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='earliest_live_timestamp', - full_name='spotify.metadata.proto.Track.earliest_live_timestamp', - index=16, - number=17, - type=3, - cpp_type=2, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='has_lyrics', - full_name='spotify.metadata.proto.Track.has_lyrics', - index=17, - number=18, - type=8, - cpp_type=7, - label=1, - has_default_value=False, - default_value=False, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='availability', - full_name='spotify.metadata.proto.Track.availability', - index=18, - number=19, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='licensor', - full_name='spotify.metadata.proto.Track.licensor', - index=19, - number=21, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=1827, - serialized_end=2552, -) - -_SHOW = _descriptor.Descriptor( - name='Show', - full_name='spotify.metadata.proto.Show', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='gid', - full_name='spotify.metadata.proto.Show.gid', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='name', - full_name='spotify.metadata.proto.Show.name', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='description', - full_name='spotify.metadata.proto.Show.description', - index=2, - number=64, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='deprecated_popularity', - full_name='spotify.metadata.proto.Show.deprecated_popularity', - index=3, - number=65, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=b'\030\001', - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='publisher', - full_name='spotify.metadata.proto.Show.publisher', - index=4, - number=66, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='language', - full_name='spotify.metadata.proto.Show.language', - index=5, - number=67, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='explicit', - full_name='spotify.metadata.proto.Show.explicit', - index=6, - number=68, - type=8, - cpp_type=7, - label=1, - has_default_value=False, - default_value=False, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='cover_image', - full_name='spotify.metadata.proto.Show.cover_image', - index=7, - number=69, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='episode', - full_name='spotify.metadata.proto.Show.episode', - index=8, - number=70, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='copyright', - full_name='spotify.metadata.proto.Show.copyright', - index=9, - number=71, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='restriction', - full_name='spotify.metadata.proto.Show.restriction', - index=10, - number=72, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='keyword', - full_name='spotify.metadata.proto.Show.keyword', - index=11, - number=73, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='media_type', - full_name='spotify.metadata.proto.Show.media_type', - index=12, - number=74, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='consumption_order', - full_name='spotify.metadata.proto.Show.consumption_order', - index=13, - number=75, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=1, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='availability', - full_name='spotify.metadata.proto.Show.availability', - index=14, - number=78, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='trailer_uri', - full_name='spotify.metadata.proto.Show.trailer_uri', - index=15, - number=83, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[ - _SHOW_MEDIATYPE, - _SHOW_CONSUMPTIONORDER, - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=2555, - serialized_end=3258, -) - -_EPISODE = _descriptor.Descriptor( - name='Episode', - full_name='spotify.metadata.proto.Episode', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='gid', - full_name='spotify.metadata.proto.Episode.gid', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='name', - full_name='spotify.metadata.proto.Episode.name', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='duration', - full_name='spotify.metadata.proto.Episode.duration', - index=2, - number=7, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='audio', - full_name='spotify.metadata.proto.Episode.audio', - index=3, - number=12, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='description', - full_name='spotify.metadata.proto.Episode.description', - index=4, - number=64, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='number', - full_name='spotify.metadata.proto.Episode.number', - index=5, - number=65, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='publish_time', - full_name='spotify.metadata.proto.Episode.publish_time', - index=6, - number=66, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='deprecated_popularity', - full_name='spotify.metadata.proto.Episode.deprecated_popularity', - index=7, - number=67, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=b'\030\001', - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='cover_image', - full_name='spotify.metadata.proto.Episode.cover_image', - index=8, - number=68, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='language', - full_name='spotify.metadata.proto.Episode.language', - index=9, - number=69, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='explicit', - full_name='spotify.metadata.proto.Episode.explicit', - index=10, - number=70, - type=8, - cpp_type=7, - label=1, - has_default_value=False, - default_value=False, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='show', - full_name='spotify.metadata.proto.Episode.show', - index=11, - number=71, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='video', - full_name='spotify.metadata.proto.Episode.video', - index=12, - number=72, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='video_preview', - full_name='spotify.metadata.proto.Episode.video_preview', - index=13, - number=73, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='audio_preview', - full_name='spotify.metadata.proto.Episode.audio_preview', - index=14, - number=74, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='restriction', - full_name='spotify.metadata.proto.Episode.restriction', - index=15, - number=75, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='freeze_frame', - full_name='spotify.metadata.proto.Episode.freeze_frame', - index=16, - number=76, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='keyword', - full_name='spotify.metadata.proto.Episode.keyword', - index=17, - number=77, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='allow_background_playback', - full_name= - 'spotify.metadata.proto.Episode.allow_background_playback', - index=18, - number=81, - type=8, - cpp_type=7, - label=1, - has_default_value=False, - default_value=False, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='availability', - full_name='spotify.metadata.proto.Episode.availability', - index=19, - number=82, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='external_url', - full_name='spotify.metadata.proto.Episode.external_url', - index=20, - number=83, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='type', - full_name='spotify.metadata.proto.Episode.type', - index=21, - number=87, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[ - _EPISODE_EPISODETYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=3261, - serialized_end=4150, -) - -_LICENSOR = _descriptor.Descriptor( - name='Licensor', - full_name='spotify.metadata.proto.Licensor', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='uuid', - full_name='spotify.metadata.proto.Licensor.uuid', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4152, - serialized_end=4176, -) - -_TOPTRACKS = _descriptor.Descriptor( - name='TopTracks', - full_name='spotify.metadata.proto.TopTracks', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='country', - full_name='spotify.metadata.proto.TopTracks.country', - index=0, - number=1, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='track', - full_name='spotify.metadata.proto.TopTracks.track', - index=1, - number=2, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4178, - serialized_end=4252, -) - -_ACTIVITYPERIOD = _descriptor.Descriptor( - name='ActivityPeriod', - full_name='spotify.metadata.proto.ActivityPeriod', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='start_year', - full_name='spotify.metadata.proto.ActivityPeriod.start_year', - index=0, - number=1, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='end_year', - full_name='spotify.metadata.proto.ActivityPeriod.end_year', - index=1, - number=2, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='decade', - full_name='spotify.metadata.proto.ActivityPeriod.decade', - index=2, - number=3, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4254, - serialized_end=4324, -) - -_ALBUMGROUP = _descriptor.Descriptor( - name='AlbumGroup', - full_name='spotify.metadata.proto.AlbumGroup', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='album', - full_name='spotify.metadata.proto.AlbumGroup.album', - index=0, - number=1, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4326, - serialized_end=4384, -) - -_DATE = _descriptor.Descriptor( - name='Date', - full_name='spotify.metadata.proto.Date', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='year', - full_name='spotify.metadata.proto.Date.year', - index=0, - number=1, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='month', - full_name='spotify.metadata.proto.Date.month', - index=1, - number=2, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='day', - full_name='spotify.metadata.proto.Date.day', - index=2, - number=3, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='hour', - full_name='spotify.metadata.proto.Date.hour', - index=3, - number=4, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='minute', - full_name='spotify.metadata.proto.Date.minute', - index=4, - number=5, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4386, - serialized_end=4464, -) - -_IMAGE = _descriptor.Descriptor( - name='Image', - full_name='spotify.metadata.proto.Image', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='file_id', - full_name='spotify.metadata.proto.Image.file_id', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='size', - full_name='spotify.metadata.proto.Image.size', - index=1, - number=2, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='width', - full_name='spotify.metadata.proto.Image.width', - index=2, - number=3, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='height', - full_name='spotify.metadata.proto.Image.height', - index=3, - number=4, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[ - _IMAGE_SIZE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4467, - serialized_end=4627, -) - -_IMAGEGROUP = _descriptor.Descriptor( - name='ImageGroup', - full_name='spotify.metadata.proto.ImageGroup', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='image', - full_name='spotify.metadata.proto.ImageGroup.image', - index=0, - number=1, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4629, - serialized_end=4687, -) - -_BIOGRAPHY = _descriptor.Descriptor( - name='Biography', - full_name='spotify.metadata.proto.Biography', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='text', - full_name='spotify.metadata.proto.Biography.text', - index=0, - number=1, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='portrait', - full_name='spotify.metadata.proto.Biography.portrait', - index=1, - number=2, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='portrait_group', - full_name='spotify.metadata.proto.Biography.portrait_group', - index=2, - number=3, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4690, - serialized_end=4824, -) - -_DISC = _descriptor.Descriptor( - name='Disc', - full_name='spotify.metadata.proto.Disc', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='number', - full_name='spotify.metadata.proto.Disc.number', - index=0, - number=1, - type=17, - cpp_type=1, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='name', - full_name='spotify.metadata.proto.Disc.name', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='track', - full_name='spotify.metadata.proto.Disc.track', - index=2, - number=3, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4826, - serialized_end=4908, -) - -_COPYRIGHT = _descriptor.Descriptor( - name='Copyright', - full_name='spotify.metadata.proto.Copyright', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='type', - full_name='spotify.metadata.proto.Copyright.type', - index=0, - number=1, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='text', - full_name='spotify.metadata.proto.Copyright.text', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[ - _COPYRIGHT_TYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=4910, - serialized_end=5011, -) - -_RESTRICTION = _descriptor.Descriptor( - name='Restriction', - full_name='spotify.metadata.proto.Restriction', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='catalogue', - full_name='spotify.metadata.proto.Restriction.catalogue', - index=0, - number=1, - type=14, - cpp_type=8, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='type', - full_name='spotify.metadata.proto.Restriction.type', - index=1, - number=4, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='catalogue_str', - full_name='spotify.metadata.proto.Restriction.catalogue_str', - index=2, - number=5, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='countries_allowed', - full_name='spotify.metadata.proto.Restriction.countries_allowed', - index=3, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='countries_forbidden', - full_name='spotify.metadata.proto.Restriction.countries_forbidden', - index=4, - number=3, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[ - _RESTRICTION_CATALOGUE, - _RESTRICTION_TYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='country_restriction', - full_name='spotify.metadata.proto.Restriction.country_restriction', - index=0, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), - ], - serialized_start=5014, - serialized_end=5365, -) - -_AVAILABILITY = _descriptor.Descriptor( - name='Availability', - full_name='spotify.metadata.proto.Availability', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='catalogue_str', - full_name='spotify.metadata.proto.Availability.catalogue_str', - index=0, - number=1, - type=9, - cpp_type=9, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start', - full_name='spotify.metadata.proto.Availability.start', - index=1, - number=2, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=5367, - serialized_end=5449, -) - -_SALEPERIOD = _descriptor.Descriptor( - name='SalePeriod', - full_name='spotify.metadata.proto.SalePeriod', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='restriction', - full_name='spotify.metadata.proto.SalePeriod.restriction', - index=0, - number=1, - type=11, - cpp_type=10, - label=3, - has_default_value=False, - default_value=[], - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='start', - full_name='spotify.metadata.proto.SalePeriod.start', - index=1, - number=2, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='end', - full_name='spotify.metadata.proto.SalePeriod.end', - index=2, - number=3, - type=11, - cpp_type=10, - label=1, - has_default_value=False, - default_value=None, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=5452, - serialized_end=5610, -) - -_EXTERNALID = _descriptor.Descriptor( - name='ExternalId', - full_name='spotify.metadata.proto.ExternalId', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='type', - full_name='spotify.metadata.proto.ExternalId.type', - index=0, - number=1, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='id', - full_name='spotify.metadata.proto.ExternalId.id', - index=1, - number=2, - type=9, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"".decode('utf-8'), - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=5612, - serialized_end=5650, -) - -_AUDIOFILE = _descriptor.Descriptor( - name='AudioFile', - full_name='spotify.metadata.proto.AudioFile', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='file_id', - full_name='spotify.metadata.proto.AudioFile.file_id', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='format', - full_name='spotify.metadata.proto.AudioFile.format', - index=1, - number=2, - type=14, - cpp_type=8, - label=1, - has_default_value=False, - default_value=0, - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[ - _AUDIOFILE_FORMAT, - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=5653, - serialized_end=5918, -) - -_VIDEOFILE = _descriptor.Descriptor( - name='VideoFile', - full_name='spotify.metadata.proto.VideoFile', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='file_id', - full_name='spotify.metadata.proto.VideoFile.file_id', - index=0, - number=1, - type=12, - cpp_type=9, - label=1, - has_default_value=False, - default_value=b"", - message_type=None, - enum_type=None, - containing_type=None, - is_extension=False, - extension_scope=None, - serialized_options=None, - file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), - ], - extensions=[], - nested_types=[], - enum_types=[], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[], - serialized_start=5920, - serialized_end=5948, -) - -_ARTIST.fields_by_name['top_track'].message_type = _TOPTRACKS -_ARTIST.fields_by_name['album_group'].message_type = _ALBUMGROUP -_ARTIST.fields_by_name['single_group'].message_type = _ALBUMGROUP -_ARTIST.fields_by_name['compilation_group'].message_type = _ALBUMGROUP -_ARTIST.fields_by_name['appears_on_group'].message_type = _ALBUMGROUP -_ARTIST.fields_by_name['external_id'].message_type = _EXTERNALID -_ARTIST.fields_by_name['portrait'].message_type = _IMAGE -_ARTIST.fields_by_name['biography'].message_type = _BIOGRAPHY -_ARTIST.fields_by_name['activity_period'].message_type = _ACTIVITYPERIOD -_ARTIST.fields_by_name['restriction'].message_type = _RESTRICTION -_ARTIST.fields_by_name['related'].message_type = _ARTIST -_ARTIST.fields_by_name['portrait_group'].message_type = _IMAGEGROUP -_ARTIST.fields_by_name['sale_period'].message_type = _SALEPERIOD -_ARTIST.fields_by_name['availability'].message_type = _AVAILABILITY -_ALBUM.fields_by_name['artist'].message_type = _ARTIST -_ALBUM.fields_by_name['type'].enum_type = _ALBUM_TYPE -_ALBUM.fields_by_name['date'].message_type = _DATE -_ALBUM.fields_by_name['cover'].message_type = _IMAGE -_ALBUM.fields_by_name['external_id'].message_type = _EXTERNALID -_ALBUM.fields_by_name['disc'].message_type = _DISC -_ALBUM.fields_by_name['copyright'].message_type = _COPYRIGHT -_ALBUM.fields_by_name['restriction'].message_type = _RESTRICTION -_ALBUM.fields_by_name['related'].message_type = _ALBUM -_ALBUM.fields_by_name['sale_period'].message_type = _SALEPERIOD -_ALBUM.fields_by_name['cover_group'].message_type = _IMAGEGROUP -_ALBUM.fields_by_name['availability'].message_type = _AVAILABILITY -_ALBUM_TYPE.containing_type = _ALBUM -_TRACK.fields_by_name['album'].message_type = _ALBUM -_TRACK.fields_by_name['artist'].message_type = _ARTIST -_TRACK.fields_by_name['external_id'].message_type = _EXTERNALID -_TRACK.fields_by_name['restriction'].message_type = _RESTRICTION -_TRACK.fields_by_name['file'].message_type = _AUDIOFILE -_TRACK.fields_by_name['alternative'].message_type = _TRACK -_TRACK.fields_by_name['sale_period'].message_type = _SALEPERIOD -_TRACK.fields_by_name['preview'].message_type = _AUDIOFILE -_TRACK.fields_by_name['availability'].message_type = _AVAILABILITY -_TRACK.fields_by_name['licensor'].message_type = _LICENSOR -_SHOW.fields_by_name['cover_image'].message_type = _IMAGEGROUP -_SHOW.fields_by_name['episode'].message_type = _EPISODE -_SHOW.fields_by_name['copyright'].message_type = _COPYRIGHT -_SHOW.fields_by_name['restriction'].message_type = _RESTRICTION -_SHOW.fields_by_name['media_type'].enum_type = _SHOW_MEDIATYPE -_SHOW.fields_by_name['consumption_order'].enum_type = _SHOW_CONSUMPTIONORDER -_SHOW.fields_by_name['availability'].message_type = _AVAILABILITY -_SHOW_MEDIATYPE.containing_type = _SHOW -_SHOW_CONSUMPTIONORDER.containing_type = _SHOW -_EPISODE.fields_by_name['audio'].message_type = _AUDIOFILE -_EPISODE.fields_by_name['publish_time'].message_type = _DATE -_EPISODE.fields_by_name['cover_image'].message_type = _IMAGEGROUP -_EPISODE.fields_by_name['show'].message_type = _SHOW -_EPISODE.fields_by_name['video'].message_type = _VIDEOFILE -_EPISODE.fields_by_name['video_preview'].message_type = _VIDEOFILE -_EPISODE.fields_by_name['audio_preview'].message_type = _AUDIOFILE -_EPISODE.fields_by_name['restriction'].message_type = _RESTRICTION -_EPISODE.fields_by_name['freeze_frame'].message_type = _IMAGEGROUP -_EPISODE.fields_by_name['availability'].message_type = _AVAILABILITY -_EPISODE.fields_by_name['type'].enum_type = _EPISODE_EPISODETYPE -_EPISODE_EPISODETYPE.containing_type = _EPISODE -_TOPTRACKS.fields_by_name['track'].message_type = _TRACK -_ALBUMGROUP.fields_by_name['album'].message_type = _ALBUM -_IMAGE.fields_by_name['size'].enum_type = _IMAGE_SIZE -_IMAGE_SIZE.containing_type = _IMAGE -_IMAGEGROUP.fields_by_name['image'].message_type = _IMAGE -_BIOGRAPHY.fields_by_name['portrait'].message_type = _IMAGE -_BIOGRAPHY.fields_by_name['portrait_group'].message_type = _IMAGEGROUP -_DISC.fields_by_name['track'].message_type = _TRACK -_COPYRIGHT.fields_by_name['type'].enum_type = _COPYRIGHT_TYPE -_COPYRIGHT_TYPE.containing_type = _COPYRIGHT -_RESTRICTION.fields_by_name['catalogue'].enum_type = _RESTRICTION_CATALOGUE -_RESTRICTION.fields_by_name['type'].enum_type = _RESTRICTION_TYPE -_RESTRICTION_CATALOGUE.containing_type = _RESTRICTION -_RESTRICTION_TYPE.containing_type = _RESTRICTION -_RESTRICTION.oneofs_by_name['country_restriction'].fields.append( - _RESTRICTION.fields_by_name['countries_allowed']) -_RESTRICTION.fields_by_name[ - 'countries_allowed'].containing_oneof = _RESTRICTION.oneofs_by_name[ - 'country_restriction'] -_RESTRICTION.oneofs_by_name['country_restriction'].fields.append( - _RESTRICTION.fields_by_name['countries_forbidden']) -_RESTRICTION.fields_by_name[ - 'countries_forbidden'].containing_oneof = _RESTRICTION.oneofs_by_name[ - 'country_restriction'] -_AVAILABILITY.fields_by_name['start'].message_type = _DATE -_SALEPERIOD.fields_by_name['restriction'].message_type = _RESTRICTION -_SALEPERIOD.fields_by_name['start'].message_type = _DATE -_SALEPERIOD.fields_by_name['end'].message_type = _DATE -_AUDIOFILE.fields_by_name['format'].enum_type = _AUDIOFILE_FORMAT -_AUDIOFILE_FORMAT.containing_type = _AUDIOFILE -DESCRIPTOR.message_types_by_name['Artist'] = _ARTIST -DESCRIPTOR.message_types_by_name['Album'] = _ALBUM -DESCRIPTOR.message_types_by_name['Track'] = _TRACK -DESCRIPTOR.message_types_by_name['Show'] = _SHOW -DESCRIPTOR.message_types_by_name['Episode'] = _EPISODE -DESCRIPTOR.message_types_by_name['Licensor'] = _LICENSOR -DESCRIPTOR.message_types_by_name['TopTracks'] = _TOPTRACKS -DESCRIPTOR.message_types_by_name['ActivityPeriod'] = _ACTIVITYPERIOD -DESCRIPTOR.message_types_by_name['AlbumGroup'] = _ALBUMGROUP -DESCRIPTOR.message_types_by_name['Date'] = _DATE -DESCRIPTOR.message_types_by_name['Image'] = _IMAGE -DESCRIPTOR.message_types_by_name['ImageGroup'] = _IMAGEGROUP -DESCRIPTOR.message_types_by_name['Biography'] = _BIOGRAPHY -DESCRIPTOR.message_types_by_name['Disc'] = _DISC -DESCRIPTOR.message_types_by_name['Copyright'] = _COPYRIGHT -DESCRIPTOR.message_types_by_name['Restriction'] = _RESTRICTION -DESCRIPTOR.message_types_by_name['Availability'] = _AVAILABILITY -DESCRIPTOR.message_types_by_name['SalePeriod'] = _SALEPERIOD -DESCRIPTOR.message_types_by_name['ExternalId'] = _EXTERNALID -DESCRIPTOR.message_types_by_name['AudioFile'] = _AUDIOFILE -DESCRIPTOR.message_types_by_name['VideoFile'] = _VIDEOFILE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Artist = _reflection.GeneratedProtocolMessageType( - 'Artist', - (_message.Message, ), - { - 'DESCRIPTOR': _ARTIST, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Artist) - }) -_sym_db.RegisterMessage(Artist) - -Album = _reflection.GeneratedProtocolMessageType( - 'Album', - (_message.Message, ), - { - 'DESCRIPTOR': _ALBUM, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Album) - }) -_sym_db.RegisterMessage(Album) - -Track = _reflection.GeneratedProtocolMessageType( - 'Track', - (_message.Message, ), - { - 'DESCRIPTOR': _TRACK, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Track) - }) -_sym_db.RegisterMessage(Track) - -Show = _reflection.GeneratedProtocolMessageType( - 'Show', - (_message.Message, ), - { - 'DESCRIPTOR': _SHOW, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Show) - }) -_sym_db.RegisterMessage(Show) - -Episode = _reflection.GeneratedProtocolMessageType( - 'Episode', - (_message.Message, ), - { - 'DESCRIPTOR': _EPISODE, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Episode) - }) -_sym_db.RegisterMessage(Episode) - -Licensor = _reflection.GeneratedProtocolMessageType( - 'Licensor', - (_message.Message, ), - { - 'DESCRIPTOR': _LICENSOR, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Licensor) - }) -_sym_db.RegisterMessage(Licensor) - -TopTracks = _reflection.GeneratedProtocolMessageType( - 'TopTracks', - (_message.Message, ), - { - 'DESCRIPTOR': _TOPTRACKS, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.TopTracks) - }) -_sym_db.RegisterMessage(TopTracks) - -ActivityPeriod = _reflection.GeneratedProtocolMessageType( - 'ActivityPeriod', - (_message.Message, ), - { - 'DESCRIPTOR': _ACTIVITYPERIOD, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.ActivityPeriod) - }) -_sym_db.RegisterMessage(ActivityPeriod) - -AlbumGroup = _reflection.GeneratedProtocolMessageType( - 'AlbumGroup', - (_message.Message, ), - { - 'DESCRIPTOR': _ALBUMGROUP, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.AlbumGroup) - }) -_sym_db.RegisterMessage(AlbumGroup) - -Date = _reflection.GeneratedProtocolMessageType( - 'Date', - (_message.Message, ), - { - 'DESCRIPTOR': _DATE, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Date) - }) -_sym_db.RegisterMessage(Date) - -Image = _reflection.GeneratedProtocolMessageType( - 'Image', - (_message.Message, ), - { - 'DESCRIPTOR': _IMAGE, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Image) - }) -_sym_db.RegisterMessage(Image) - -ImageGroup = _reflection.GeneratedProtocolMessageType( - 'ImageGroup', - (_message.Message, ), - { - 'DESCRIPTOR': _IMAGEGROUP, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.ImageGroup) - }) -_sym_db.RegisterMessage(ImageGroup) - -Biography = _reflection.GeneratedProtocolMessageType( - 'Biography', - (_message.Message, ), - { - 'DESCRIPTOR': _BIOGRAPHY, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Biography) - }) -_sym_db.RegisterMessage(Biography) - -Disc = _reflection.GeneratedProtocolMessageType( - 'Disc', - (_message.Message, ), - { - 'DESCRIPTOR': _DISC, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Disc) - }) -_sym_db.RegisterMessage(Disc) - -Copyright = _reflection.GeneratedProtocolMessageType( - 'Copyright', - (_message.Message, ), - { - 'DESCRIPTOR': _COPYRIGHT, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Copyright) - }) -_sym_db.RegisterMessage(Copyright) - -Restriction = _reflection.GeneratedProtocolMessageType( - 'Restriction', - (_message.Message, ), - { - 'DESCRIPTOR': _RESTRICTION, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Restriction) - }) -_sym_db.RegisterMessage(Restriction) - -Availability = _reflection.GeneratedProtocolMessageType( - 'Availability', - (_message.Message, ), - { - 'DESCRIPTOR': _AVAILABILITY, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.Availability) - }) -_sym_db.RegisterMessage(Availability) - -SalePeriod = _reflection.GeneratedProtocolMessageType( - 'SalePeriod', - (_message.Message, ), - { - 'DESCRIPTOR': _SALEPERIOD, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.SalePeriod) - }) -_sym_db.RegisterMessage(SalePeriod) - -ExternalId = _reflection.GeneratedProtocolMessageType( - 'ExternalId', - (_message.Message, ), - { - 'DESCRIPTOR': _EXTERNALID, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.ExternalId) - }) -_sym_db.RegisterMessage(ExternalId) - -AudioFile = _reflection.GeneratedProtocolMessageType( - 'AudioFile', - (_message.Message, ), - { - 'DESCRIPTOR': _AUDIOFILE, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.AudioFile) - }) -_sym_db.RegisterMessage(AudioFile) - -VideoFile = _reflection.GeneratedProtocolMessageType( - 'VideoFile', - (_message.Message, ), - { - 'DESCRIPTOR': _VIDEOFILE, - '__module__': 'metadata_pb2' - # @@protoc_insertion_point(class_scope:spotify.metadata.proto.VideoFile) - }) -_sym_db.RegisterMessage(VideoFile) - -DESCRIPTOR._options = None -_SHOW.fields_by_name['deprecated_popularity']._options = None -_EPISODE.fields_by_name['deprecated_popularity']._options = None + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\024com.spotify.metadataB\010MetadataH\002' + _SHOW.fields_by_name['deprecated_popularity']._options = None + _SHOW.fields_by_name['deprecated_popularity']._serialized_options = b'\030\001' + _EPISODE.fields_by_name['deprecated_popularity']._options = None + _EPISODE.fields_by_name['deprecated_popularity']._serialized_options = b'\030\001' + _ARTIST._serialized_start=43 + _ARTIST._serialized_end=949 + _ALBUM._serialized_start=952 + _ALBUM._serialized_end=1824 + _ALBUM_TYPE._serialized_start=1742 + _ALBUM_TYPE._serialized_end=1824 + _TRACK._serialized_start=1827 + _TRACK._serialized_end=2552 + _SHOW._serialized_start=2555 + _SHOW._serialized_end=3258 + _SHOW_MEDIATYPE._serialized_start=3152 + _SHOW_MEDIATYPE._serialized_end=3196 + _SHOW_CONSUMPTIONORDER._serialized_start=3198 + _SHOW_CONSUMPTIONORDER._serialized_end=3258 + _EPISODE._serialized_start=3261 + _EPISODE._serialized_end=4150 + _EPISODE_EPISODETYPE._serialized_start=4103 + _EPISODE_EPISODETYPE._serialized_end=4150 + _LICENSOR._serialized_start=4152 + _LICENSOR._serialized_end=4176 + _TOPTRACKS._serialized_start=4178 + _TOPTRACKS._serialized_end=4252 + _ACTIVITYPERIOD._serialized_start=4254 + _ACTIVITYPERIOD._serialized_end=4324 + _ALBUMGROUP._serialized_start=4326 + _ALBUMGROUP._serialized_end=4384 + _DATE._serialized_start=4386 + _DATE._serialized_end=4464 + _IMAGE._serialized_start=4467 + _IMAGE._serialized_end=4627 + _IMAGE_SIZE._serialized_start=4574 + _IMAGE_SIZE._serialized_end=4627 + _IMAGEGROUP._serialized_start=4629 + _IMAGEGROUP._serialized_end=4687 + _BIOGRAPHY._serialized_start=4690 + _BIOGRAPHY._serialized_end=4824 + _DISC._serialized_start=4826 + _DISC._serialized_end=4908 + _COPYRIGHT._serialized_start=4910 + _COPYRIGHT._serialized_end=5011 + _COPYRIGHT_TYPE._serialized_start=4991 + _COPYRIGHT_TYPE._serialized_end=5011 + _RESTRICTION._serialized_start=5014 + _RESTRICTION._serialized_end=5365 + _RESTRICTION_CATALOGUE._serialized_start=5234 + _RESTRICTION_CATALOGUE._serialized_end=5319 + _RESTRICTION_TYPE._serialized_start=5321 + _RESTRICTION_TYPE._serialized_end=5342 + _AVAILABILITY._serialized_start=5367 + _AVAILABILITY._serialized_end=5449 + _SALEPERIOD._serialized_start=5452 + _SALEPERIOD._serialized_end=5610 + _EXTERNALID._serialized_start=5612 + _EXTERNALID._serialized_end=5650 + _AUDIOFILE._serialized_start=5653 + _AUDIOFILE._serialized_end=5937 + _AUDIOFILE_FORMAT._serialized_start=5742 + _AUDIOFILE_FORMAT._serialized_end=5937 + _VIDEOFILE._serialized_start=5939 + _VIDEOFILE._serialized_end=5967 # @@protoc_insertion_point(module_scope) diff --git a/proto/metadata.proto b/proto/metadata.proto index 5fa39c1..83103e3 100644 --- a/proto/metadata.proto +++ b/proto/metadata.proto @@ -270,7 +270,8 @@ message AudioFile { MP3_160_ENC = 7; AAC_24 = 8; AAC_48 = 9; - AAC_24_NORM = 16; + FLAC_FLAC = 16; + FLAC_FLAC_24BIT = 22; } }