diff --git a/README.md b/README.md index 3149e0d..6244dc8 100644 --- a/README.md +++ b/README.md @@ -2,28 +2,50 @@ ![Stars](https://img.shields.io/github/stars/kokarare1212/librespot-python.svg) ![Forks](https://img.shields.io/github/forks/kokarare1212/librespot-python.svg) [![DeepSource](https://deepsource.io/gh/kokarare1212/librespot-python.svg/?label=active+issues&show_trend=true)](https://deepsource.io/gh/kokarare1212/librespot-python/?ref=repository-badge) + # Librespot-Python + Open Source Spotify Client + ## About The Project -This project was developed to make the music streaming service Spotify available on any device. + +This project was developed to make the music streaming service Spotify available +on any device. + ## Note -It is still in the idea stage, so there is a possibility of unintended behavior or major specification changes. -We **DO NOT** encourage piracy and **DO NOT** support any form of downloader/recorder designed with the help of this repository and in general anything that goes against the Spotify ToS. -For other guidelines, please see [CODE_OF_CONDUCT.md](https://github.com/kokarare1212/librespot-python/blob/main/CODE_OF_CONDUCT.md). + +It is still in the idea stage, so there is a possibility of unintended behavior +or major specification changes. +We **DO NOT** encourage piracy and **DO NOT** support any form of +downloader/recorder designed with the help of this repository and in general +anything that goes against the Spotify ToS. +For other guidelines, please see +[CODE_OF_CONDUCT.md](https://github.com/kokarare1212/librespot-python/blob/main/CODE_OF_CONDUCT.md). + ## Getting Started + ### Prerequisites -* [Python](https://python.org/) + +- [Python](https://python.org/) + ### Installation + Stable Version **\*still not working.** + ```commandline pip install librespot ``` + Snapshot Version \***Recommended** + ```commandline pip install git+https://github.com/kokarare1212/librespot-python ``` + ## Usage + ### Get Spotify's OAuth token + ```python from librespot.core import Session @@ -34,7 +56,9 @@ session = Session.Builder() \ aceess_token = session.tokens().get("playlist-read") ``` + ### Get Music Stream + \*Currently, music streaming is supported, but it may cause unintended behavior. ```python @@ -53,24 +77,44 @@ stream = session.content_feeder().load(track_id, VorbisOnlyAudioQuality(AudioQua # stream.input_stream.stream().read() to get one byte of the music stream. # ex: 1 (If there is no more voice data, -1 is received as the result.) ``` -Other uses are [examples](https://github.com/kokarare1212/librespot-python/tree/main/examples) or read [this document](https://librespot-python.rtfd.io) for detailed specifications. + +Other uses are +[examples](https://github.com/kokarare1212/librespot-python/tree/main/examples) +or read [this document](https://librespot-python.rtfd.io) for detailed +specifications. ## Debug -To display the debug information, you need to inject the following code at the top of the code. + +To display the debug information, you need to inject the following code at the +top of the code. + ```python import logging logging.basicConfig(level=logging.DEBUG) ``` + ## Roadmap -Please read [ROADMAP.md](https://github.com/kokarare1212/librespot-python/blob/main/ROADMAP.md). + +Please read +[ROADMAP.md](https://github.com/kokarare1212/librespot-python/blob/main/ROADMAP.md). + ## Contributing + Pull requests are welcome. + ## License -Distributed under the Apache-2.0 License. See [LICENSE.txt](https://github.com/kokarare1212/librespot-python/blob/main/LICENSE.txt) for more information. + +Distributed under the Apache-2.0 License. See +[LICENSE.txt](https://github.com/kokarare1212/librespot-python/blob/main/LICENSE.txt) +for more information. + ## Related Projects -* [Librespot](https://github.com/librespot-org/librespot) (Concept) -* [Librespot-Java](https://github.com/librespot-org/librespot-java) (Core) + +- [Librespot](https://github.com/librespot-org/librespot) (Concept) +- [Librespot-Java](https://github.com/librespot-org/librespot-java) (Core) + ## Special thanks + Coming soon diff --git a/SECURITY.md b/SECURITY.md index 034e848..d906fed 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -16,6 +16,5 @@ currently being supported with security updates. Use this section to tell people how to report a vulnerability. -Tell them where to go, how often they can expect to get an update on a -reported vulnerability, what to expect if the vulnerability is accepted or -declined, etc. +Tell them where to go, how often they can expect to get an update on a reported +vulnerability, what to expect if the vulnerability is accepted or declined, etc. diff --git a/docs/api.md b/docs/api.md index ba8f28f..756262a 100644 --- a/docs/api.md +++ b/docs/api.md @@ -1,2 +1,3 @@ # API Reference -Coming soon :) \ No newline at end of file + +Coming soon :) diff --git a/docs/conf.py b/docs/conf.py index bd4e4fd..2516602 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,6 +12,7 @@ # import sys # sys.path.insert(0, os.path.abspath('.')) from recommonmark.transform import AutoStructify + # -- Project information ----------------------------------------------------- project = "librespot-python" @@ -55,7 +56,11 @@ source_parsers = { def setup(app): - app.add_config_value("recommonmark_config", { - "auto_toc_tree_section": "Contents", - }, True) + app.add_config_value( + "recommonmark_config", + { + "auto_toc_tree_section": "Contents", + }, + True, + ) app.add_transform(AutoStructify) diff --git a/docs/index.md b/docs/index.md index 4fa2e1d..0dca5e8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,13 +7,14 @@ ## Contents -* [Get Started](index.md) -* [Supported Futures](supported.md) -* [API Reference](api.md) +- [Get Started](index.md) +- [Supported Futures](supported.md) +- [API Reference](api.md) ## What's librespot-python? -librespot-python is a python port of Spotify's open source client library [librespot](https://github.com/librespot-org/librespot). +librespot-python is a python port of Spotify's open source client library +[librespot](https://github.com/librespot-org/librespot). It was created to play Spotify on various platforms and devices. @@ -29,19 +30,20 @@ Please keep in mind that this library is not like Spotify approved. Therefore, the worst that can happen is that you will be banned from Spotify. -Also, please keep in mind that this library is in alpha and may behave in unintended ways. +Also, please keep in mind that this library is in alpha and may behave in +unintended ways. ## Installation -You can download this library in the following way. +You can download this library in the following way. -Stable Version ***still not working.** +Stable Version **\*still not working.** ```commandline pip install librespot ``` -Snapshot Version ***Recommended** +Snapshot Version **\*Recommended** ```commandline pip install git+https://github.com/kokarare1212/librespot-python @@ -64,7 +66,7 @@ aceess_token = session.tokens().get("playlist-read") ### Get Music Stream -*Currently, music streaming is supported, but it may cause unintended behavior. +\*Currently, music streaming is supported, but it may cause unintended behavior. ```python from librespot.core import Session @@ -85,11 +87,12 @@ stream = session.content_feeder().load(track_id, VorbisOnlyAudioQuality(AudioQua ## Debug -To display the debug information, you need to inject the following code at the top of the code. +To display the debug information, you need to inject the following code at the +top of the code. ```python import logging logging.basicConfig(level=logging.DEBUG) -``` \ No newline at end of file +``` diff --git a/docs/supported.md b/docs/supported.md index 4b6f968..e8f3902 100644 --- a/docs/supported.md +++ b/docs/supported.md @@ -6,10 +6,11 @@ | Get Metadata | 〇 | -| Play Music | △*1 | +| Play Music | △\*1 | -| Spotify Connect | ×*2 | +| Spotify Connect | ×\*2 | -*1 It is currently possible to retrieve the music stream, but it requires separate software for decoding. +\*1 It is currently possible to retrieve the music stream, but it requires +separate software for decoding. -*2 This feature will be added in the future. \ No newline at end of file +\*2 This feature will be added in the future. diff --git a/examples/player/main.py b/examples/player/main.py index d53f3f2..fb48690 100644 --- a/examples/player/main.py +++ b/examples/player/main.py @@ -1,13 +1,15 @@ +import os +import platform +import re +import subprocess +import time + +import requests + from librespot.audio.decoders import AudioQuality from librespot.core import Session from librespot.metadata import TrackId from librespot.player.codecs import VorbisOnlyAudioQuality -import os -import platform -import re -import requests -import subprocess -import time quality: AudioQuality = AudioQuality.VERY_HIGH session: Session = None @@ -30,10 +32,16 @@ def client(): if args[0] == "exit" or args[0] == "quit": return if (args[0] == "p" or args[0] == "play") and len(args) == 2: - track_uri_search = re.search(r"^spotify:track:(?P[0-9a-zA-Z]{22})$", args[1]) - track_url_search = re.search(r"^(https?://)?open.spotify.com/track/(?P[0-9a-zA-Z]{22})(\?si=.+?)?$", args[1]) + track_uri_search = re.search( + r"^spotify:track:(?P[0-9a-zA-Z]{22})$", args[1]) + track_url_search = re.search( + r"^(https?://)?open.spotify.com/track/(?P[0-9a-zA-Z]{22})(\?si=.+?)?$", + args[1], + ) if track_uri_search is not None or track_url_search is not None: - track_id_str = (track_uri_search if track_uri_search is not None else track_url_search).group("TrackID") + track_id_str = (track_uri_search + if track_uri_search is not None else + track_url_search).group("TrackID") play(track_id_str) wait() if args[0] == "q" or args[0] == "quality": @@ -51,11 +59,24 @@ def client(): wait() if (args[0] == "s" or args[0] == "search") and len(args) >= 2: token = session.tokens().get("user-read-email") - resp = requests.get("https://api.spotify.com/v1/search", {"limit": "5", "offset": "0", "q": cmd[2:], "type": "track"}, headers={"Authorization": "Bearer %s" % token}) + resp = requests.get( + "https://api.spotify.com/v1/search", + { + "limit": "5", + "offset": "0", + "q": cmd[2:], + "type": "track" + }, + headers={"Authorization": "Bearer %s" % token}, + ) i = 1 tracks = resp.json()["tracks"]["items"] for track in tracks: - print("%d, %s | %s" % (i, track["name"], ",".join([artist["name"] for artist in track["artists"]]))) + print("%d, %s | %s" % ( + i, + track["name"], + ",".join([artist["name"] for artist in track["artists"]]), + )) i += 1 position = -1 while True: @@ -92,12 +113,14 @@ def login(): def play(track_id_str: str): track_id = TrackId.from_base62(track_id_str) - stream = session.content_feeder().load(track_id, - VorbisOnlyAudioQuality(AudioQuality.VERY_HIGH), - False, - None) - ffplay = subprocess.Popen(["ffplay", "-"], stdin=subprocess.PIPE, stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL) + stream = session.content_feeder().load( + track_id, VorbisOnlyAudioQuality(AudioQuality.VERY_HIGH), False, None) + ffplay = subprocess.Popen( + ["ffplay", "-"], + stdin=subprocess.PIPE, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) while True: byte = stream.input_stream.stream().read() if byte == -1: @@ -106,12 +129,11 @@ def play(track_id_str: str): def splash(): - print( - "=================================\n" - "| Librespot-Python Player |\n" - "| |\n" - "| by kokarare1212 |\n" - "=================================\n\n\n") + print("=================================\n" + "| Librespot-Python Player |\n" + "| |\n" + "| by kokarare1212 |\n" + "=================================\n\n\n") def main(): diff --git a/librespot/ZeroconfServer.py b/librespot/ZeroconfServer.py index a558d15..d631eca 100644 --- a/librespot/ZeroconfServer.py +++ b/librespot/ZeroconfServer.py @@ -4,7 +4,9 @@ import concurrent.futures import random import socket -from zeroconf import ServiceBrowser, ServiceInfo, Zeroconf +from zeroconf import ServiceBrowser +from zeroconf import ServiceInfo +from zeroconf import Zeroconf from librespot.common import Utils from librespot.core import Session diff --git a/librespot/audio/AbsChunkedInputStream.py b/librespot/audio/AbsChunkedInputStream.py index 61de4dd..a69bd7e 100644 --- a/librespot/audio/AbsChunkedInputStream.py +++ b/librespot/audio/AbsChunkedInputStream.py @@ -1,10 +1,11 @@ -from librespot.audio.HaltListener import HaltListener -from librespot.standard.InputStream import InputStream import math import threading import time import typing +from librespot.audio.HaltListener import HaltListener +from librespot.standard.InputStream import InputStream + class AbsChunkedInputStream(InputStream, HaltListener): preload_ahead: typing.Final[int] = 3 @@ -63,8 +64,7 @@ class AbsChunkedInputStream(InputStream, HaltListener): raise IOError("Stream is closed!") self._pos = where - self.check_availability(int(self._pos / (128 * 1024)), - False, False) + self.check_availability(int(self._pos / (128 * 1024)), False, False) def skip(self, n: int) -> int: if n < 0: @@ -111,8 +111,8 @@ class AbsChunkedInputStream(InputStream, HaltListener): for i in range(chunk + 1, min(self.chunks() - 1, chunk + self.preload_ahead) + 1): - if self.requested_chunks( - )[i] and self.retries[i] < self.preload_chunk_retries: + if (self.requested_chunks()[i] + and self.retries[i] < self.preload_chunk_retries): self.request_chunk_from_stream(i) self.requested_chunks()[chunk] = True diff --git a/librespot/audio/AudioKeyManager.py b/librespot/audio/AudioKeyManager.py index d320477..1fd16b3 100644 --- a/librespot/audio/AudioKeyManager.py +++ b/librespot/audio/AudioKeyManager.py @@ -1,16 +1,17 @@ from __future__ import annotations +import logging +import queue import struct +import threading +import typing from librespot.common import Utils from librespot.core import Session from librespot.core.PacketsReceiver import PacketsReceiver from librespot.crypto import Packet -from librespot.standard import BytesInputStream, ByteArrayOutputStream -import logging -import queue -import threading -import typing +from librespot.standard import ByteArrayOutputStream +from librespot.standard import BytesInputStream class AudioKeyManager(PacketsReceiver): diff --git a/librespot/audio/PlayableContentFeeder.py b/librespot/audio/PlayableContentFeeder.py index fa91170..fef1f34 100644 --- a/librespot/audio/PlayableContentFeeder.py +++ b/librespot/audio/PlayableContentFeeder.py @@ -1,20 +1,26 @@ from __future__ import annotations -from librespot.audio import GeneralAudioStream, HaltListener, NormalizationData +import logging +import typing + +from librespot.audio import GeneralAudioStream +from librespot.audio import HaltListener +from librespot.audio import NormalizationData from librespot.audio.cdn import CdnFeedHelper from librespot.audio.format import AudioQualityPicker from librespot.common.Utils import Utils from librespot.core import Session -from librespot.metadata import PlayableId, TrackId -from librespot.proto import Metadata, StorageResolve -import logging -import typing +from librespot.metadata import PlayableId +from librespot.metadata import TrackId +from librespot.proto import Metadata +from librespot.proto import StorageResolve class PlayableContentFeeder: _LOGGER: logging = logging.getLogger(__name__) STORAGE_RESOLVE_INTERACTIVE: str = "/storage-resolve/files/audio/interactive/{}" - STORAGE_RESOLVE_INTERACTIVE_PREFETCH: str = "/storage-resolve/files/audio/interactive_prefetch/{}" + STORAGE_RESOLVE_INTERACTIVE_PREFETCH: str = ( + "/storage-resolve/files/audio/interactive_prefetch/{}") session: Session def __init__(self, session: Session): @@ -30,9 +36,13 @@ class PlayableContentFeeder: return None - def load(self, playable_id: PlayableId, - audio_quality_picker: AudioQualityPicker, preload: bool, - halt_listener: HaltListener): + def load( + self, + playable_id: PlayableId, + audio_quality_picker: AudioQualityPicker, + preload: bool, + halt_listener: HaltListener, + ): if type(playable_id) is TrackId: return self.load_track(playable_id, audio_quality_picker, preload, halt_listener) @@ -41,9 +51,13 @@ class PlayableContentFeeder: self, file_id: bytes, preload: bool) -> StorageResolve.StorageResolveResponse: resp = self.session.api().send( - "GET", (self.STORAGE_RESOLVE_INTERACTIVE_PREFETCH - if preload else self.STORAGE_RESOLVE_INTERACTIVE).format( - Utils.bytes_to_hex(file_id)), None, None) + "GET", + (self.STORAGE_RESOLVE_INTERACTIVE_PREFETCH + if preload else self.STORAGE_RESOLVE_INTERACTIVE).format( + Utils.bytes_to_hex(file_id)), + None, + None, + ) if resp.status_code != 200: raise RuntimeError(resp.status_code) @@ -55,10 +69,13 @@ class PlayableContentFeeder: storage_resolve_response.ParseFromString(body) return storage_resolve_response - def load_track(self, track_id_or_track: typing.Union[TrackId, - Metadata.Track], - audio_quality_picker: AudioQualityPicker, preload: bool, - halt_listener: HaltListener): + def load_track( + self, + track_id_or_track: typing.Union[TrackId, Metadata.Track], + audio_quality_picker: AudioQualityPicker, + preload: bool, + halt_listener: HaltListener, + ): if type(track_id_or_track) is TrackId: original = self.session.api().get_metadata_4_track( track_id_or_track) @@ -75,9 +92,14 @@ class PlayableContentFeeder: return self.load_stream(file, track, None, preload, halt_listener) - def load_stream(self, file: Metadata.AudioFile, track: Metadata.Track, - episode: Metadata.Episode, preload: bool, - halt_lister: HaltListener): + def load_stream( + self, + file: Metadata.AudioFile, + track: Metadata.Track, + episode: Metadata.Episode, + preload: bool, + halt_lister: HaltListener, + ): if track is None and episode is None: raise RuntimeError() @@ -106,11 +128,13 @@ class PlayableContentFeeder: normalization_data: NormalizationData metrics: PlayableContentFeeder.Metrics - def __init__(self, track_or_episode: typing.Union[Metadata.Track, - Metadata.Episode], - input_stream: GeneralAudioStream, - normalization_data: NormalizationData, - metrics: PlayableContentFeeder.Metrics): + def __init__( + self, + track_or_episode: typing.Union[Metadata.Track, Metadata.Episode], + input_stream: GeneralAudioStream, + normalization_data: NormalizationData, + metrics: PlayableContentFeeder.Metrics, + ): if type(track_or_episode) is Metadata.Track: self.track = track_or_episode self.episode = None diff --git a/librespot/audio/cdn/CdnFeedHelper.py b/librespot/audio/cdn/CdnFeedHelper.py index bcfb7fe..3a25cea 100644 --- a/librespot/audio/cdn/CdnFeedHelper.py +++ b/librespot/audio/cdn/CdnFeedHelper.py @@ -1,13 +1,18 @@ from __future__ import annotations -from librespot.audio import NormalizationData, PlayableContentFeeder, HaltListener -from librespot.common import Utils -from librespot.core import Session -from librespot.proto import Metadata, StorageResolve + import logging import random import time import typing +from librespot.audio import HaltListener +from librespot.audio import NormalizationData +from librespot.audio import PlayableContentFeeder +from librespot.common import Utils +from librespot.core import Session +from librespot.proto import Metadata +from librespot.proto import StorageResolve + class CdnFeedHelper: _LOGGER: logging = logging.getLogger(__name__) @@ -17,10 +22,14 @@ class CdnFeedHelper: return random.choice(resp.cdnurl) @staticmethod - def load_track(session: Session, track: Metadata.Track, file: Metadata.AudioFile, - resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str], - preload: bool, halt_listener: HaltListener)\ - -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream: + def load_track( + session: Session, + track: Metadata.Track, + file: Metadata.AudioFile, + resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str], + preload: bool, + halt_listener: HaltListener, + ) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream: if type(resp_or_url) is str: url = resp_or_url else: @@ -31,13 +40,17 @@ class CdnFeedHelper: streamer = session.cdn().stream_file(file, key, url, halt_listener) input_stream = streamer.stream() - normalization_data = NormalizationData.NormalizationData.read(input_stream) - if input_stream.skip(0xa7) != 0xa7: + normalization_data = NormalizationData.NormalizationData.read( + input_stream) + if input_stream.skip(0xA7) != 0xA7: raise IOError("Couldn't skip 0xa7 bytes!") return PlayableContentFeeder.PlayableContentFeeder.LoadedStream( - track, streamer, normalization_data, + track, + streamer, + normalization_data, PlayableContentFeeder.PlayableContentFeeder.Metrics( - file.file_id, preload, -1 if preload else audio_key_time)) + file.file_id, preload, -1 if preload else audio_key_time), + ) @staticmethod def load_episode_external( @@ -56,15 +69,20 @@ class CdnFeedHelper: streamer = session.cdn().stream_external_episode( episode, url, halt_listener) return PlayableContentFeeder.PlayableContentFeeder.LoadedStream( - episode, streamer, None, + episode, + streamer, + None, PlayableContentFeeder.PlayableContentFeeder.Metrics( - None, False, -1)) + None, False, -1), + ) @staticmethod def load_episode( - session: Session, episode: Metadata.Episode, file: Metadata.AudioFile, - resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, - str], halt_listener: HaltListener + session: Session, + episode: Metadata.Episode, + file: Metadata.AudioFile, + resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str], + halt_listener: HaltListener, ) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream: if type(resp_or_url) is str: url = resp_or_url @@ -77,9 +95,12 @@ class CdnFeedHelper: streamer = session.cdn().stream_file(file, key, url, halt_listener) input_stream = streamer.stream() normalization_data = NormalizationData.read(input_stream) - if input_stream.skip(0xa7) != 0xa7: + if input_stream.skip(0xA7) != 0xA7: raise IOError("Couldn't skip 0xa7 bytes!") return PlayableContentFeeder.PlayableContentFeeder.LoadedStream( - episode, streamer, normalization_data, + episode, + streamer, + normalization_data, PlayableContentFeeder.PlayableContentFeeder.Metrics( - file.file_id, False, audio_key_time)) + file.file_id, False, audio_key_time), + ) diff --git a/librespot/audio/cdn/CdnManager.py b/librespot/audio/cdn/CdnManager.py index f2b358a..080bdde 100644 --- a/librespot/audio/cdn/CdnManager.py +++ b/librespot/audio/cdn/CdnManager.py @@ -1,11 +1,5 @@ from __future__ import annotations -from librespot.audio.AbsChunkedInputStream import AbsChunkedInputStream -from librespot.audio import GeneralAudioStream, GeneralWritableStream, StreamId -from librespot.audio.decrypt import AesAudioDecrypt, NoopAudioDecrypt -from librespot.audio.format import SuperAudioFormat -from librespot.audio.storage import ChannelManager -from librespot.common import Utils -from librespot.proto import StorageResolve + import concurrent.futures import logging import math @@ -14,9 +8,20 @@ import time import typing import urllib.parse +from librespot.audio import GeneralAudioStream +from librespot.audio import GeneralWritableStream +from librespot.audio import StreamId +from librespot.audio.AbsChunkedInputStream import AbsChunkedInputStream +from librespot.audio.decrypt import AesAudioDecrypt +from librespot.audio.decrypt import NoopAudioDecrypt +from librespot.audio.format import SuperAudioFormat +from librespot.audio.storage import ChannelManager +from librespot.common import Utils +from librespot.proto import StorageResolve + if typing.TYPE_CHECKING: - from librespot.audio.HaltListener import HaltListener from librespot.audio.decrypt.AudioDecrypt import AudioDecrypt + from librespot.audio.HaltListener import HaltListener from librespot.cache.CacheManager import CacheManager from librespot.core.Session import Session from librespot.proto import Metadata @@ -30,9 +35,11 @@ class CdnManager: self._session = session def get_head(self, file_id: bytes): - resp = self._session.client() \ - .get(self._session.get_user_attribute("head-files-url", "https://heads-fa.spotify.com/head/{file_id}") - .replace("{file_id}", Utils.bytes_to_hex(file_id))) + resp = self._session.client().get( + self._session.get_user_attribute( + "head-files-url", + "https://heads-fa.spotify.com/head/{file_id}").replace( + "{file_id}", Utils.bytes_to_hex(file_id))) if resp.status_code != 200: raise IOError("{}".format(resp.status_code)) @@ -46,24 +53,41 @@ class CdnManager: def stream_external_episode(self, episode: Metadata.Episode, external_url: str, halt_listener: HaltListener): - return CdnManager.Streamer(self._session, StreamId(episode), - SuperAudioFormat.MP3, - CdnManager.CdnUrl(self, None, external_url), - self._session.cache(), NoopAudioDecrypt(), - halt_listener) + return CdnManager.Streamer( + self._session, + StreamId(episode), + SuperAudioFormat.MP3, + CdnManager.CdnUrl(self, None, external_url), + self._session.cache(), + NoopAudioDecrypt(), + halt_listener, + ) - def stream_file(self, file: Metadata.AudioFile, key: bytes, url: str, - halt_listener: HaltListener): - return CdnManager.Streamer(self._session, StreamId.StreamId(file), - SuperAudioFormat.get(file.format), - CdnManager.CdnUrl(self, file.file_id, url), - self._session.cache(), AesAudioDecrypt(key), - halt_listener) + def stream_file( + self, + file: Metadata.AudioFile, + key: bytes, + url: str, + halt_listener: HaltListener, + ): + return CdnManager.Streamer( + self._session, + StreamId.StreamId(file), + SuperAudioFormat.get(file.format), + CdnManager.CdnUrl(self, file.file_id, url), + self._session.cache(), + AesAudioDecrypt(key), + halt_listener, + ) def get_audio_url(self, file_id: bytes): resp = self._session.api().send( - "GET", "/storage-resolve/files/audio/interactive/{}".format( - Utils.bytes_to_hex(file_id)), None, None) + "GET", + "/storage-resolve/files/audio/interactive/{}".format( + Utils.bytes_to_hex(file_id)), + None, + None, + ) if resp.status_code != 200: raise IOError(resp.status_code) @@ -159,7 +183,10 @@ class CdnManager: else: self._expiration = -1 - class Streamer(GeneralAudioStream.GeneralAudioStream, GeneralWritableStream.GeneralWritableStream): + class Streamer( + GeneralAudioStream.GeneralAudioStream, + GeneralWritableStream.GeneralWritableStream, + ): _session: Session = None _streamId: StreamId = None _executorService = concurrent.futures.ThreadPoolExecutor() @@ -174,10 +201,16 @@ class CdnManager: _internalStream: CdnManager.Streamer.InternalStream = None _haltListener: HaltListener = None - def __init__(self, session: Session, stream_id: StreamId, - audio_format: SuperAudioFormat, cdn_url, - cache: CacheManager, audio_decrypt: AudioDecrypt, - halt_listener: HaltListener): + def __init__( + self, + session: Session, + stream_id: StreamId, + audio_format: SuperAudioFormat, + cdn_url, + cache: CacheManager, + audio_decrypt: AudioDecrypt, + halt_listener: HaltListener, + ): self._session = session self._streamId = stream_id self._audioFormat = audio_format @@ -250,12 +283,12 @@ class CdnManager: range_start = ChannelManager.CHUNK_SIZE * chunk range_end = (chunk + 1) * ChannelManager.CHUNK_SIZE - 1 - resp = self._session.client().get(self._cdnUrl._url, - headers={ - "Range": - "bytes={}-{}".format( - range_start, range_end) - }) + resp = self._session.client().get( + self._cdnUrl._url, + headers={ + "Range": "bytes={}-{}".format(range_start, range_end) + }, + ) if resp.status_code != 206: raise IOError(resp.status_code) diff --git a/librespot/audio/decoders/AudioQuality.py b/librespot/audio/decoders/AudioQuality.py index 9ffa731..1bbd10d 100644 --- a/librespot/audio/decoders/AudioQuality.py +++ b/librespot/audio/decoders/AudioQuality.py @@ -1,8 +1,10 @@ from __future__ import annotations -from librespot.proto.Metadata import AudioFile + import enum import typing +from librespot.proto.Metadata import AudioFile + class AudioQuality(enum.Enum): NORMAL = 0x00 @@ -11,19 +13,19 @@ class AudioQuality(enum.Enum): @staticmethod def get_quality(audio_format: AudioFile.Format) -> AudioQuality: - if audio_format == AudioFile.MP3_96 or \ - audio_format == AudioFile.OGG_VORBIS_96 or \ - audio_format == AudioFile.AAC_24_NORM: + if (audio_format == AudioFile.MP3_96 + or audio_format == AudioFile.OGG_VORBIS_96 + or audio_format == AudioFile.AAC_24_NORM): return AudioQuality.NORMAL - if audio_format == AudioFile.MP3_160 or \ - audio_format == AudioFile.MP3_160_ENC or \ - audio_format == AudioFile.OGG_VORBIS_160 or \ - audio_format == AudioFile.AAC_24: + if (audio_format == AudioFile.MP3_160 + or audio_format == AudioFile.MP3_160_ENC + or audio_format == AudioFile.OGG_VORBIS_160 + or audio_format == AudioFile.AAC_24): return AudioQuality.HIGH - if audio_format == AudioFile.MP3_320 or \ - audio_format == AudioFile.MP3_256 or \ - audio_format == AudioFile.OGG_VORBIS_320 or \ - audio_format == AudioFile.AAC_48: + if (audio_format == AudioFile.MP3_320 + or audio_format == AudioFile.MP3_256 + or audio_format == AudioFile.OGG_VORBIS_320 + or audio_format == AudioFile.AAC_48): return AudioQuality.VERY_HIGH raise RuntimeError("Unknown format: {}".format(format)) @@ -31,8 +33,8 @@ class AudioQuality(enum.Enum): files: typing.List[AudioFile]) -> typing.List[AudioFile]: file_list = [] for file in files: - if hasattr(file, "format") and AudioQuality.get_quality( - file.format) == self: + if (hasattr(file, "format") + and AudioQuality.get_quality(file.format) == self): file_list.append(file) return file_list diff --git a/librespot/audio/decrypt/AesAudioDecrypt.py b/librespot/audio/decrypt/AesAudioDecrypt.py index a35a7d4..9dc2df6 100644 --- a/librespot/audio/decrypt/AesAudioDecrypt.py +++ b/librespot/audio/decrypt/AesAudioDecrypt.py @@ -1,14 +1,30 @@ +import time + from Crypto.Cipher import AES from Crypto.Util import Counter -from librespot.audio.storage import ChannelManager + from librespot.audio.decrypt.AudioDecrypt import AudioDecrypt -import time +from librespot.audio.storage import ChannelManager class AesAudioDecrypt(AudioDecrypt): audio_aes_iv = bytes([ - 0x72, 0xe0, 0x67, 0xfb, 0xdd, 0xcb, 0xcf, 0x77, 0xeb, 0xe8, 0xbc, 0x64, - 0x3f, 0x63, 0x0d, 0x93 + 0x72, + 0xE0, + 0x67, + 0xFB, + 0xDD, + 0xCB, + 0xCF, + 0x77, + 0xEB, + 0xE8, + 0xBC, + 0x64, + 0x3F, + 0x63, + 0x0D, + 0x93, ]) iv_int = int.from_bytes(audio_aes_iv, "big") iv_diff = 0x100 @@ -25,9 +41,11 @@ class AesAudioDecrypt(AudioDecrypt): iv = self.iv_int + int(ChannelManager.CHUNK_SIZE * chunk_index / 16) start = time.time_ns() for i in range(0, len(buffer), 4096): - cipher = AES.new(key=self.key, - mode=AES.MODE_CTR, - counter=Counter.new(128, initial_value=iv)) + cipher = AES.new( + key=self.key, + mode=AES.MODE_CTR, + counter=Counter.new(128, initial_value=iv), + ) count = min(4096, len(buffer) - i) decrypted_buffer = cipher.decrypt(buffer[i:i + count]) @@ -45,5 +63,5 @@ class AesAudioDecrypt(AudioDecrypt): return new_buffer def decrypt_time_ms(self): - return 0 if self.decrypt_count == 0 else int( - (self.decrypt_total_time / self.decrypt_count) / 1000000) + return (0 if self.decrypt_count == 0 else int( + (self.decrypt_total_time / self.decrypt_count) / 1000000)) diff --git a/librespot/audio/format/AudioQualityPicker.py b/librespot/audio/format/AudioQualityPicker.py index 6485ae4..ee843d6 100644 --- a/librespot/audio/format/AudioQualityPicker.py +++ b/librespot/audio/format/AudioQualityPicker.py @@ -1,4 +1,5 @@ from __future__ import annotations + import typing if typing.TYPE_CHECKING: diff --git a/librespot/audio/storage/ChannelManager.py b/librespot/audio/storage/ChannelManager.py index b61cfe2..b2bd9c8 100644 --- a/librespot/audio/storage/ChannelManager.py +++ b/librespot/audio/storage/ChannelManager.py @@ -1,16 +1,20 @@ from __future__ import annotations +import concurrent.futures +import logging import queue +import threading +import typing from librespot.audio.storage import AudioFile from librespot.common import Utils -from librespot.core import PacketsReceiver, Session +from librespot.core import PacketsReceiver +from librespot.core import Session from librespot.crypto import Packet -from librespot.standard import BytesInputStream, BytesOutputStream, Closeable, Runnable -import concurrent.futures -import logging -import threading -import typing +from librespot.standard import BytesInputStream +from librespot.standard import BytesOutputStream +from librespot.standard import Closeable +from librespot.standard import Runnable class ChannelManager(Closeable, PacketsReceiver.PacketsReceiver): @@ -19,8 +23,8 @@ class ChannelManager(Closeable, PacketsReceiver.PacketsReceiver): _channels: typing.Dict[int, Channel] = {} _seqHolder: int = 0 _seqHolderLock: threading.Condition = threading.Condition() - _executorService: concurrent.futures.ThreadPoolExecutor = concurrent.futures.ThreadPoolExecutor( - ) + _executorService: concurrent.futures.ThreadPoolExecutor = ( + concurrent.futures.ThreadPoolExecutor()) _session: Session = None def __init__(self, session: Session): @@ -37,8 +41,8 @@ class ChannelManager(Closeable, PacketsReceiver.PacketsReceiver): out.write_short(channel.chunkId) out.write_int(0x00000000) out.write_int(0x00000000) - out.write_int(0x00004e20) - out.write_int(0x00030d40) + out.write_int(0x00004E20) + out.write_int(0x00030D40) out.write(file_id) out.write_int(start) out.write_int(end) diff --git a/librespot/core/Session.py b/librespot/core/Session.py index e4751e2..c86f78a 100644 --- a/librespot/core/Session.py +++ b/librespot/core/Session.py @@ -1,26 +1,9 @@ from __future__ import annotations -from Crypto.Hash import HMAC, SHA1 -from Crypto.PublicKey import RSA -from Crypto.Signature import PKCS1_v1_5 -from librespot.audio import AudioKeyManager, PlayableContentFeeder -from librespot.audio.cdn import CdnManager -from librespot.audio.storage import ChannelManager -from librespot.cache import CacheManager -from librespot.common.Utils import Utils -from librespot.core import ApResolver, EventService, SearchManager, TokenProvider -from librespot.crypto import CipherPair, DiffieHellman, Packet -from librespot.dealer import ApiClient, DealerClient -from librespot.mercury import MercuryClient, SubListener -from librespot.proto import Authentication, Connect, Keyexchange -from librespot.proto.ExplicitContentPubsub import UserAttributesUpdate -from librespot.standard import BytesInputStream, Closeable, Proxy -from librespot.Version import Version + import base64 -import defusedxml.ElementTree import json import logging import os -import requests import sched import socket import struct @@ -28,32 +11,299 @@ import threading import time import typing +import defusedxml.ElementTree +import requests +from Crypto.Hash import HMAC +from Crypto.Hash import SHA1 +from Crypto.PublicKey import RSA +from Crypto.Signature import PKCS1_v1_5 + +from librespot.audio import AudioKeyManager +from librespot.audio import PlayableContentFeeder +from librespot.audio.cdn import CdnManager +from librespot.audio.storage import ChannelManager +from librespot.cache import CacheManager +from librespot.common.Utils import Utils +from librespot.core import ApResolver +from librespot.core import EventService +from librespot.core import SearchManager +from librespot.core import TokenProvider +from librespot.crypto import CipherPair +from librespot.crypto import DiffieHellman +from librespot.crypto import Packet +from librespot.dealer import ApiClient +from librespot.dealer import DealerClient +from librespot.mercury import MercuryClient +from librespot.mercury import SubListener +from librespot.proto import Authentication +from librespot.proto import Connect +from librespot.proto import Keyexchange +from librespot.proto.ExplicitContentPubsub import UserAttributesUpdate +from librespot.standard import BytesInputStream +from librespot.standard import Closeable +from librespot.standard import Proxy +from librespot.Version import Version + class Session(Closeable, SubListener, DealerClient.MessageListener): _LOGGER: logging = logging.getLogger(__name__) _serverKey: bytes = bytes([ - 0xac, 0xe0, 0x46, 0x0b, 0xff, 0xc2, 0x30, 0xaf, 0xf4, 0x6b, 0xfe, 0xc3, - 0xbf, 0xbf, 0x86, 0x3d, 0xa1, 0x91, 0xc6, 0xcc, 0x33, 0x6c, 0x93, 0xa1, - 0x4f, 0xb3, 0xb0, 0x16, 0x12, 0xac, 0xac, 0x6a, 0xf1, 0x80, 0xe7, 0xf6, - 0x14, 0xd9, 0x42, 0x9d, 0xbe, 0x2e, 0x34, 0x66, 0x43, 0xe3, 0x62, 0xd2, - 0x32, 0x7a, 0x1a, 0x0d, 0x92, 0x3b, 0xae, 0xdd, 0x14, 0x02, 0xb1, 0x81, - 0x55, 0x05, 0x61, 0x04, 0xd5, 0x2c, 0x96, 0xa4, 0x4c, 0x1e, 0xcc, 0x02, - 0x4a, 0xd4, 0xb2, 0x0c, 0x00, 0x1f, 0x17, 0xed, 0xc2, 0x2f, 0xc4, 0x35, - 0x21, 0xc8, 0xf0, 0xcb, 0xae, 0xd2, 0xad, 0xd7, 0x2b, 0x0f, 0x9d, 0xb3, - 0xc5, 0x32, 0x1a, 0x2a, 0xfe, 0x59, 0xf3, 0x5a, 0x0d, 0xac, 0x68, 0xf1, - 0xfa, 0x62, 0x1e, 0xfb, 0x2c, 0x8d, 0x0c, 0xb7, 0x39, 0x2d, 0x92, 0x47, - 0xe3, 0xd7, 0x35, 0x1a, 0x6d, 0xbd, 0x24, 0xc2, 0xae, 0x25, 0x5b, 0x88, - 0xff, 0xab, 0x73, 0x29, 0x8a, 0x0b, 0xcc, 0xcd, 0x0c, 0x58, 0x67, 0x31, - 0x89, 0xe8, 0xbd, 0x34, 0x80, 0x78, 0x4a, 0x5f, 0xc9, 0x6b, 0x89, 0x9d, - 0x95, 0x6b, 0xfc, 0x86, 0xd7, 0x4f, 0x33, 0xa6, 0x78, 0x17, 0x96, 0xc9, - 0xc3, 0x2d, 0x0d, 0x32, 0xa5, 0xab, 0xcd, 0x05, 0x27, 0xe2, 0xf7, 0x10, - 0xa3, 0x96, 0x13, 0xc4, 0x2f, 0x99, 0xc0, 0x27, 0xbf, 0xed, 0x04, 0x9c, - 0x3c, 0x27, 0x58, 0x04, 0xb6, 0xb2, 0x19, 0xf9, 0xc1, 0x2f, 0x02, 0xe9, - 0x48, 0x63, 0xec, 0xa1, 0xb6, 0x42, 0xa0, 0x9d, 0x48, 0x25, 0xf8, 0xb3, - 0x9d, 0xd0, 0xe8, 0x6a, 0xf9, 0x48, 0x4d, 0xa1, 0xc2, 0xba, 0x86, 0x30, - 0x42, 0xea, 0x9d, 0xb3, 0x08, 0x6c, 0x19, 0x0e, 0x48, 0xb3, 0x9d, 0x66, - 0xeb, 0x00, 0x06, 0xa2, 0x5a, 0xee, 0xa1, 0x1b, 0x13, 0x87, 0x3c, 0xd7, - 0x19, 0xe6, 0x55, 0xbd + 0xAC, + 0xE0, + 0x46, + 0x0B, + 0xFF, + 0xC2, + 0x30, + 0xAF, + 0xF4, + 0x6B, + 0xFE, + 0xC3, + 0xBF, + 0xBF, + 0x86, + 0x3D, + 0xA1, + 0x91, + 0xC6, + 0xCC, + 0x33, + 0x6C, + 0x93, + 0xA1, + 0x4F, + 0xB3, + 0xB0, + 0x16, + 0x12, + 0xAC, + 0xAC, + 0x6A, + 0xF1, + 0x80, + 0xE7, + 0xF6, + 0x14, + 0xD9, + 0x42, + 0x9D, + 0xBE, + 0x2E, + 0x34, + 0x66, + 0x43, + 0xE3, + 0x62, + 0xD2, + 0x32, + 0x7A, + 0x1A, + 0x0D, + 0x92, + 0x3B, + 0xAE, + 0xDD, + 0x14, + 0x02, + 0xB1, + 0x81, + 0x55, + 0x05, + 0x61, + 0x04, + 0xD5, + 0x2C, + 0x96, + 0xA4, + 0x4C, + 0x1E, + 0xCC, + 0x02, + 0x4A, + 0xD4, + 0xB2, + 0x0C, + 0x00, + 0x1F, + 0x17, + 0xED, + 0xC2, + 0x2F, + 0xC4, + 0x35, + 0x21, + 0xC8, + 0xF0, + 0xCB, + 0xAE, + 0xD2, + 0xAD, + 0xD7, + 0x2B, + 0x0F, + 0x9D, + 0xB3, + 0xC5, + 0x32, + 0x1A, + 0x2A, + 0xFE, + 0x59, + 0xF3, + 0x5A, + 0x0D, + 0xAC, + 0x68, + 0xF1, + 0xFA, + 0x62, + 0x1E, + 0xFB, + 0x2C, + 0x8D, + 0x0C, + 0xB7, + 0x39, + 0x2D, + 0x92, + 0x47, + 0xE3, + 0xD7, + 0x35, + 0x1A, + 0x6D, + 0xBD, + 0x24, + 0xC2, + 0xAE, + 0x25, + 0x5B, + 0x88, + 0xFF, + 0xAB, + 0x73, + 0x29, + 0x8A, + 0x0B, + 0xCC, + 0xCD, + 0x0C, + 0x58, + 0x67, + 0x31, + 0x89, + 0xE8, + 0xBD, + 0x34, + 0x80, + 0x78, + 0x4A, + 0x5F, + 0xC9, + 0x6B, + 0x89, + 0x9D, + 0x95, + 0x6B, + 0xFC, + 0x86, + 0xD7, + 0x4F, + 0x33, + 0xA6, + 0x78, + 0x17, + 0x96, + 0xC9, + 0xC3, + 0x2D, + 0x0D, + 0x32, + 0xA5, + 0xAB, + 0xCD, + 0x05, + 0x27, + 0xE2, + 0xF7, + 0x10, + 0xA3, + 0x96, + 0x13, + 0xC4, + 0x2F, + 0x99, + 0xC0, + 0x27, + 0xBF, + 0xED, + 0x04, + 0x9C, + 0x3C, + 0x27, + 0x58, + 0x04, + 0xB6, + 0xB2, + 0x19, + 0xF9, + 0xC1, + 0x2F, + 0x02, + 0xE9, + 0x48, + 0x63, + 0xEC, + 0xA1, + 0xB6, + 0x42, + 0xA0, + 0x9D, + 0x48, + 0x25, + 0xF8, + 0xB3, + 0x9D, + 0xD0, + 0xE8, + 0x6A, + 0xF9, + 0x48, + 0x4D, + 0xA1, + 0xC2, + 0xBA, + 0x86, + 0x30, + 0x42, + 0xEA, + 0x9D, + 0xB3, + 0x08, + 0x6C, + 0x19, + 0x0E, + 0x48, + 0xB3, + 0x9D, + 0x66, + 0xEB, + 0x00, + 0x06, + 0xA2, + 0x5A, + 0xEE, + 0xA1, + 0x1B, + 0x13, + 0x87, + 0x3C, + 0xD7, + 0x19, + 0xE6, + 0x55, + 0xBD, ]) _keys: DiffieHellman = None _inner: Session.Inner = None @@ -101,14 +351,16 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): if conf.proxyAuth and conf.proxyType is not Proxy.Type.DIRECT: if conf.proxyAuth: proxy_setting = [ - conf.proxyUsername, conf.proxyPassword, conf.proxyAddress, - conf.proxyPort + conf.proxyUsername, + conf.proxyPassword, + conf.proxyAddress, + conf.proxyPort, ] else: proxy_setting = [conf.proxyAddress, conf.proxyPort] client.proxies = { "http": "{}:{}@{}:{}".format(*proxy_setting), - "https": "{}:{}@{}:{}".format(*proxy_setting) + "https": "{}:{}@{}:{}".format(*proxy_setting), } return client @@ -119,7 +371,7 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): if (lo & 0x80) == 0: return lo hi = buffer[1] - return lo & 0x7f | hi << 7 + return lo & 0x7F | hi << 7 def client(self) -> requests.Session: return self._client @@ -140,7 +392,8 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): diffie_hellman=Keyexchange.LoginCryptoDiffieHellmanHello( gc=self._keys.public_key_array(), server_keys_known=1), ), client_nonce=nonce, - padding=bytes([0x1e])) + padding=bytes([0x1E]), + ) client_hello_bytes = client_hello.SerializeToString() length = 2 + 4 + len(client_hello_bytes) @@ -178,8 +431,10 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): diffie_hellman.gs) # noinspection PyTypeChecker if not pkcs1_v1_5.verify( - sha1, ap_response_message.challenge.login_crypto_challenge. - diffie_hellman.gs_signature): + sha1, + ap_response_message.challenge.login_crypto_challenge. + diffie_hellman.gs_signature, + ): raise RuntimeError("Failed signature check!") # Solve challenge @@ -203,7 +458,8 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): diffie_hellman=Keyexchange.LoginCryptoDiffieHellmanResponse( hmac=challenge)), pow_response=Keyexchange.PoWResponseUnion(), - crypto_response=Keyexchange.CryptoResponseUnion()) + crypto_response=Keyexchange.CryptoResponseUnion(), + ) client_response_plaintext_bytes = client_response_plaintext.SerializeToString( ) @@ -216,8 +472,10 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): self._conn.set_timeout(1) scrap = self._conn.read(4) if 4 == len(scrap): - length = (scrap[0] << 24) | (scrap[1] << 16) | ( - scrap[2] << 8) | (scrap[3] & 0xff) + length = ((scrap[0] << 24) + | (scrap[1] << 16) + | (scrap[2] << 8) + | (scrap[3] & 0xFF)) payload = self._conn.read(length - 4) failed = Keyexchange.APResponseMessage() failed.ParseFromString(payload) @@ -245,7 +503,8 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): self._channelManager = ChannelManager(self) self._api = ApiClient.ApiClient(self) self._cdnManager = CdnManager(self) - self._contentFeeder = PlayableContentFeeder.PlayableContentFeeder(self) + self._contentFeeder = PlayableContentFeeder.PlayableContentFeeder( + self) self._cacheManager = CacheManager(self) self._dealer = DealerClient(self) self._search = SearchManager.SearchManager(self) @@ -276,8 +535,10 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): os=Authentication.Os.OS_UNKNOWN, cpu_family=Authentication.CpuFamily.CPU_UNKNOWN, system_information_string=Version.system_info_string(), - device_id=self._inner.device_id), - version_string=Version.version_string()) + device_id=self._inner.device_id, + ), + version_string=Version.version_string(), + ) self._send_unchecked(Packet.Type.login, client_response_encrypted.SerializeToString()) @@ -317,8 +578,10 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): { "username": self._apWelcome.canonical_username, "credentials": base64.b64encode(reusable).decode(), - "type": reusable_type - }, f) + "type": reusable_type, + }, + f, + ) elif packet.is_cmd(Packet.Type.auth_failure): ap_login_failed = Keyexchange.APLoginFailed() @@ -535,7 +798,10 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): Authentication.LoginCredentials( typ=self._apWelcome.reusable_auth_credentials_type, username=self._apWelcome.canonical_username, - auth_data=self._apWelcome.reusable_auth_credentials), True) + auth_data=self._apWelcome.reusable_auth_credentials, + ), + True, + ) self._LOGGER.info("Re-authenticated as {}!".format( self._apWelcome.canonical_username)) @@ -575,8 +841,8 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): self._userAttributes)) def get_user_attribute(self, key: str, fallback: str = None) -> str: - return self._userAttributes.get(key) if self._userAttributes.get( - key) is not None else fallback + return (self._userAttributes.get(key) + if self._userAttributes.get(key) is not None else fallback) def event(self, resp: MercuryClient.Response) -> None: if resp.uri == "spotify:user:attributes:update": @@ -611,18 +877,20 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): conf = None preferred_locale: str = None - def __init__(self, - device_type: Connect.DeviceType, - device_name: str, - preferred_locale: str, - conf: Session.Configuration, - device_id: str = None): + def __init__( + self, + device_type: Connect.DeviceType, + device_name: str, + preferred_locale: str, + conf: Session.Configuration, + device_id: str = None, + ): self.preferred_locale = preferred_locale self.conf = conf self.device_type = device_type self.device_name = device_name - self.device_id = device_id if device_id is not None else Utils.random_hex_string( - 40) + self.device_id = (device_id if device_id is not None else + Utils.random_hex_string(40)) class AbsBuilder: conf = None @@ -682,7 +950,8 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): typ=Authentication.AuthenticationType.Value( obj["type"]), username=obj["username"], - auth_data=base64.b64decode(obj["credentials"])) + auth_data=base64.b64decode(obj["credentials"]), + ) except KeyError: pass @@ -692,7 +961,8 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): self.login_credentials = Authentication.LoginCredentials( username=username, typ=Authentication.AuthenticationType.AUTHENTICATION_USER_PASS, - auth_data=password.encode()) + auth_data=password.encode(), + ) return self def create(self) -> Session: @@ -700,10 +970,15 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): raise RuntimeError("You must select an authentication method.") session = Session( - Session.Inner(self.device_type, self.device_name, - self.preferred_locale, self.conf, - self.device_id), - ApResolver.get_random_accesspoint()) + Session.Inner( + self.device_type, + self.device_name, + self.preferred_locale, + self.conf, + self.device_id, + ), + ApResolver.get_random_accesspoint(), + ) session._connect() session._authenticate(self.login_credentials) return session @@ -730,12 +1005,22 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): # Fetching retry_on_chunk_error: bool - def __init__(self, proxy_enabled: bool, proxy_type: Proxy.Type, - proxy_address: str, proxy_port: int, proxy_auth: bool, - proxy_username: str, proxy_password: str, - cache_enabled: bool, cache_dir: str, - do_cache_clean_up: bool, store_credentials: bool, - stored_credentials_file: str, retry_on_chunk_error: bool): + def __init__( + self, + proxy_enabled: bool, + proxy_type: Proxy.Type, + proxy_address: str, + proxy_port: int, + proxy_auth: bool, + proxy_username: str, + proxy_password: str, + cache_enabled: bool, + cache_dir: str, + do_cache_clean_up: bool, + store_credentials: bool, + stored_credentials_file: str, + retry_on_chunk_error: bool, + ): self.proxyEnabled = proxy_enabled self.proxyType = proxy_type self.proxyAddress = proxy_address @@ -844,11 +1129,20 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): def build(self) -> Session.Configuration: return Session.Configuration( - self.proxyEnabled, self.proxyType, self.proxyAddress, - self.proxyPort, self.proxyAuth, self.proxyUsername, - self.proxyPassword, self.cache_enabled, self.cache_dir, - self.do_cache_clean_up, self.store_credentials, - self.stored_credentials_file, self.retry_on_chunk_error) + self.proxyEnabled, + self.proxyType, + self.proxyAddress, + self.proxyPort, + self.proxyAuth, + self.proxyUsername, + self.proxyPassword, + self.cache_enabled, + self.cache_dir, + self.do_cache_clean_up, + self.store_credentials, + self.stored_credentials_file, + self.retry_on_chunk_error, + ) class SpotifyAuthenticationException(Exception): def __init__(self, login_failed: Keyexchange.APLoginFailed): @@ -1021,18 +1315,17 @@ class Session(Closeable, SubListener, DealerClient.MessageListener): self.session._LOGGER.debug("Received 0x10: {}".format( Utils.bytes_to_hex(packet.payload))) continue - if cmd == Packet.Type.mercury_sub or \ - cmd == Packet.Type.mercury_unsub or \ - cmd == Packet.Type.mercury_event or \ - cmd == Packet.Type.mercury_req: + if (cmd == Packet.Type.mercury_sub + or cmd == Packet.Type.mercury_unsub + or cmd == Packet.Type.mercury_event + or cmd == Packet.Type.mercury_req): self.session.mercury().dispatch(packet) continue - if cmd == Packet.Type.aes_key or \ - cmd == Packet.Type.aes_key_error: + if cmd == Packet.Type.aes_key or cmd == Packet.Type.aes_key_error: self.session.audio_key().dispatch(packet) continue - if cmd == Packet.Type.channel_error or \ - cmd == Packet.Type.stream_chunk_res: + if (cmd == Packet.Type.channel_error + or cmd == Packet.Type.stream_chunk_res): self.session.channel().dispatch(packet) continue if cmd == Packet.Type.product_info: diff --git a/librespot/core/TokenProvider.py b/librespot/core/TokenProvider.py index a5d01b5..3b6f43b 100644 --- a/librespot/core/TokenProvider.py +++ b/librespot/core/TokenProvider.py @@ -1,9 +1,12 @@ from __future__ import annotations -from librespot.core import Session, TimeProvider -from librespot.mercury import MercuryRequests + import logging import typing +from librespot.core import Session +from librespot.core import TimeProvider +from librespot.mercury import MercuryRequests + class TokenProvider: _LOGGER: logging = logging.getLogger(__name__) @@ -66,9 +69,9 @@ class TokenProvider: self.scopes = obj["scope"] def expired(self) -> bool: - return self.timestamp + ( - self.expires_in - TokenProvider._TOKEN_EXPIRE_THRESHOLD - ) * 1000 < TimeProvider.TimeProvider().current_time_millis() + return (self.timestamp + + (self.expires_in - TokenProvider._TOKEN_EXPIRE_THRESHOLD) * + 1000 < TimeProvider.TimeProvider().current_time_millis()) def has_scope(self, scope: str) -> bool: for s in self.scopes: diff --git a/librespot/dealer/ApiClient.py b/librespot/dealer/ApiClient.py index a952f5a..583cd2b 100644 --- a/librespot/dealer/ApiClient.py +++ b/librespot/dealer/ApiClient.py @@ -1,11 +1,18 @@ -from librespot.core.ApResolver import ApResolver -from librespot.metadata import AlbumId, ArtistId, EpisodeId, TrackId, ShowId -from librespot.proto import Connect, Metadata -from librespot.standard import Closeable import logging -import requests import typing +import requests + +from librespot.core.ApResolver import ApResolver +from librespot.metadata import AlbumId +from librespot.metadata import ArtistId +from librespot.metadata import EpisodeId +from librespot.metadata import ShowId +from librespot.metadata import TrackId +from librespot.proto import Connect +from librespot.proto import Metadata +from librespot.standard import Closeable + class ApiClient(Closeable): _LOGGER: logging = logging.getLogger(__name__) @@ -17,9 +24,12 @@ class ApiClient(Closeable): self._baseUrl = "https://{}".format(ApResolver.get_random_spclient()) def build_request( - self, method: str, suffix: str, - headers: typing.Union[None, typing.Dict[str, str]], - body: typing.Union[None, bytes]) -> requests.PreparedRequest: + self, + method: str, + suffix: str, + headers: typing.Union[None, typing.Dict[str, str]], + body: typing.Union[None, bytes], + ) -> requests.PreparedRequest: request = requests.PreparedRequest() request.method = method request.data = body @@ -31,9 +41,13 @@ class ApiClient(Closeable): request.url = self._baseUrl + suffix return request - def send(self, method: str, suffix: str, - headers: typing.Union[None, typing.Dict[str, str]], - body: typing.Union[None, bytes]) -> requests.Response: + def send( + self, + method: str, + suffix: str, + headers: typing.Union[None, typing.Dict[str, str]], + body: typing.Union[None, bytes], + ) -> requests.Response: resp = self._session.client().send( self.build_request(method, suffix, headers, body)) return resp @@ -42,10 +56,13 @@ class ApiClient(Closeable): proto: Connect.PutStateRequest) -> None: resp = self.send( "PUT", - "/connect-state/v1/devices/{}".format(self._session.device_id()), { + "/connect-state/v1/devices/{}".format(self._session.device_id()), + { "Content-Type": "application/protobuf", - "X-Spotify-Connection-Id": connection_id - }, proto.SerializeToString()) + "X-Spotify-Connection-Id": connection_id, + }, + proto.SerializeToString(), + ) if resp.status_code == 413: self._LOGGER.warning( diff --git a/librespot/dealer/DealerClient.py b/librespot/dealer/DealerClient.py index f3162fa..7b679d2 100644 --- a/librespot/dealer/DealerClient.py +++ b/librespot/dealer/DealerClient.py @@ -1,7 +1,9 @@ from __future__ import annotations -from librespot.standard.Closeable import Closeable + import typing +from librespot.standard.Closeable import Closeable + class DealerClient(Closeable): def __init__(self, session): diff --git a/librespot/mercury/MercuryClient.py b/librespot/mercury/MercuryClient.py index 2807043..83808c3 100644 --- a/librespot/mercury/MercuryClient.py +++ b/librespot/mercury/MercuryClient.py @@ -1,16 +1,24 @@ from __future__ import annotations -from librespot.common import Utils -from librespot.core import Session, PacketsReceiver -from librespot.crypto import Packet -from librespot.mercury import JsonMercuryRequest, RawMercuryRequest, SubListener -from librespot.standard import BytesInputStream, BytesOutputStream, Closeable -from librespot.proto import Mercury, Pubsub + import json import logging import queue import threading import typing +from librespot.common import Utils +from librespot.core import PacketsReceiver +from librespot.core import Session +from librespot.crypto import Packet +from librespot.mercury import JsonMercuryRequest +from librespot.mercury import RawMercuryRequest +from librespot.mercury import SubListener +from librespot.proto import Mercury +from librespot.proto import Pubsub +from librespot.standard import BytesInputStream +from librespot.standard import BytesOutputStream +from librespot.standard import Closeable + class MercuryClient(PacketsReceiver.PacketsReceiver, Closeable): _LOGGER: logging = logging.getLogger(__name__) @@ -159,9 +167,9 @@ class MercuryClient(PacketsReceiver.PacketsReceiver, Closeable): self._LOGGER.debug( "Couldn't dispatch Mercury event seq: {}, uri: {}, code: {}, payload: {}" .format(seq, header.uri, header.status_code, resp.payload)) - elif packet.is_cmd(Packet.Type.mercury_req) or \ - packet.is_cmd(Packet.Type.mercury_sub) or \ - packet.is_cmd(Packet.Type.mercury_sub): + elif (packet.is_cmd(Packet.Type.mercury_req) + or packet.is_cmd(Packet.Type.mercury_sub) + or packet.is_cmd(Packet.Type.mercury_sub)): callback = self._callbacks.get(seq) self._callbacks.pop(seq) if callback is not None: diff --git a/librespot/mercury/RawMercuryRequest.py b/librespot/mercury/RawMercuryRequest.py index 218d16b..66b7992 100644 --- a/librespot/mercury/RawMercuryRequest.py +++ b/librespot/mercury/RawMercuryRequest.py @@ -1,6 +1,7 @@ -from librespot.proto import Mercury import typing +from librespot.proto import Mercury + class RawMercuryRequest: header: Mercury.Header @@ -27,13 +28,13 @@ class RawMercuryRequest: @staticmethod def send(uri: str, part: bytes): - return RawMercuryRequest.new_builder().set_uri(uri).add_payload_part( - part).set_method("SEND").build() + return (RawMercuryRequest.new_builder().set_uri(uri).add_payload_part( + part).set_method("SEND").build()) @staticmethod def post(uri: str, part: bytes): - return RawMercuryRequest.new_builder().set_uri(uri).set_method( - "POST").add_payload_part(part).build() + return (RawMercuryRequest.new_builder().set_uri(uri).set_method( + "POST").add_payload_part(part).build()) @staticmethod def new_builder(): diff --git a/librespot/player/PlayerConfiguration.py b/librespot/player/PlayerConfiguration.py index a7ab309..8096cd3 100644 --- a/librespot/player/PlayerConfiguration.py +++ b/librespot/player/PlayerConfiguration.py @@ -1,4 +1,5 @@ from __future__ import annotations + from librespot.audio.decoders import AudioQuality @@ -15,11 +16,17 @@ class PlayerConfiguration: initial_volume: int volume_steps: int - def __init__(self, preferred_quality: AudioQuality, - enable_normalisation: bool, normalisation_pregain: float, - autoplay_enabled: bool, crossfade_duration: int, - preload_enabled: bool, initial_volume: int, - volume_steps: int): + def __init__( + self, + preferred_quality: AudioQuality, + enable_normalisation: bool, + normalisation_pregain: float, + autoplay_enabled: bool, + crossfade_duration: int, + preload_enabled: bool, + initial_volume: int, + volume_steps: int, + ): self.preferred_quality = preferred_quality self.enable_normalisation = enable_normalisation self.normalisation_pregain = normalisation_pregain @@ -73,7 +80,12 @@ class PlayerConfiguration: def build(self) -> PlayerConfiguration: return PlayerConfiguration( - self.preferred_quality, self.enable_normalisation, - self.normalisation_pregain, self.autoplay_enabled, - self.crossfade_duration, self.preload_enabled, - self.initial_volume, self.volume_steps) + self.preferred_quality, + self.enable_normalisation, + self.normalisation_pregain, + self.autoplay_enabled, + self.crossfade_duration, + self.preload_enabled, + self.initial_volume, + self.volume_steps, + ) diff --git a/librespot/player/codecs/VorbisOnlyAudioQuality.py b/librespot/player/codecs/VorbisOnlyAudioQuality.py index ec22797..bce478a 100644 --- a/librespot/player/codecs/VorbisOnlyAudioQuality.py +++ b/librespot/player/codecs/VorbisOnlyAudioQuality.py @@ -3,9 +3,9 @@ from __future__ import annotations import logging import typing +from librespot.audio.decoders.AudioQuality import AudioQuality from librespot.audio.format.AudioQualityPicker import AudioQualityPicker from librespot.audio.format.SuperAudioFormat import SuperAudioFormat -from librespot.audio.decoders.AudioQuality import AudioQuality from librespot.proto import Metadata @@ -19,8 +19,8 @@ class VorbisOnlyAudioQuality(AudioQualityPicker): @staticmethod def get_vorbis_file(files: typing.List[Metadata.AudioFile]): for file in files: - if hasattr(file, "format") and SuperAudioFormat.get( - file.format) == SuperAudioFormat.VORBIS: + if (hasattr(file, "format") and SuperAudioFormat.get(file.format) + == SuperAudioFormat.VORBIS): return file return None diff --git a/librespot/player/codecs/__init__.py b/librespot/player/codecs/__init__.py index c56b7eb..837810e 100644 --- a/librespot/player/codecs/__init__.py +++ b/librespot/player/codecs/__init__.py @@ -1 +1,2 @@ -from librespot.player.codecs.VorbisOnlyAudioQuality import VorbisOnlyAudioQuality +from librespot.player.codecs.VorbisOnlyAudioQuality import \ + VorbisOnlyAudioQuality diff --git a/librespot/proto/Canvaz.py b/librespot/proto/Canvaz.py index 2848283..8025629 100644 --- a/librespot/proto/Canvaz.py +++ b/librespot/proto/Canvaz.py @@ -2,46 +2,47 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: canvaz.proto """Generated protocol buffer code.""" +import CanvazMeta as canvaz__meta__pb2 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import CanvazMeta as canvaz__meta__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='canvaz.proto', - package='com.spotify.canvazcache', - syntax='proto3', - serialized_options=b'\n\022com.spotify.canvazH\002', + name="canvaz.proto", + package="com.spotify.canvazcache", + syntax="proto3", + serialized_options=b"\n\022com.spotify.canvazH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x0c\x63\x61nvaz.proto\x12\x17\x63om.spotify.canvazcache\x1a\x11\x63\x61nvaz-meta.proto\"3\n\x06\x41rtist\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x61vatar\x18\x03 \x01(\t\"\xe1\x02\n\x14\x45ntityCanvazResponse\x12\x46\n\x08\x63\x61nvases\x18\x01 \x03(\x0b\x32\x34.com.spotify.canvazcache.EntityCanvazResponse.Canvaz\x12\x16\n\x0ettl_in_seconds\x18\x02 \x01(\x03\x1a\xe8\x01\n\x06\x43\x61nvaz\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x03 \x01(\t\x12&\n\x04type\x18\x04 \x01(\x0e\x32\x18.com.spotify.canvaz.Type\x12\x12\n\nentity_uri\x18\x05 \x01(\t\x12/\n\x06\x61rtist\x18\x06 \x01(\x0b\x32\x1f.com.spotify.canvazcache.Artist\x12\x10\n\x08\x65xplicit\x18\x07 \x01(\x08\x12\x13\n\x0buploaded_by\x18\x08 \x01(\t\x12\x0c\n\x04\x65tag\x18\t \x01(\t\x12\x12\n\ncanvas_uri\x18\x0b \x01(\t\"\x88\x01\n\x13\x45ntityCanvazRequest\x12\x45\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x33.com.spotify.canvazcache.EntityCanvazRequest.Entity\x1a*\n\x06\x45ntity\x12\x12\n\nentity_uri\x18\x01 \x01(\t\x12\x0c\n\x04\x65tag\x18\x02 \x01(\tB\x16\n\x12\x63om.spotify.canvazH\x02\x62\x06proto3', + b'\n\x0c\x63\x61nvaz.proto\x12\x17\x63om.spotify.canvazcache\x1a\x11\x63\x61nvaz-meta.proto"3\n\x06\x41rtist\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x61vatar\x18\x03 \x01(\t"\xe1\x02\n\x14\x45ntityCanvazResponse\x12\x46\n\x08\x63\x61nvases\x18\x01 \x03(\x0b\x32\x34.com.spotify.canvazcache.EntityCanvazResponse.Canvaz\x12\x16\n\x0ettl_in_seconds\x18\x02 \x01(\x03\x1a\xe8\x01\n\x06\x43\x61nvaz\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0f\n\x07\x66ile_id\x18\x03 \x01(\t\x12&\n\x04type\x18\x04 \x01(\x0e\x32\x18.com.spotify.canvaz.Type\x12\x12\n\nentity_uri\x18\x05 \x01(\t\x12/\n\x06\x61rtist\x18\x06 \x01(\x0b\x32\x1f.com.spotify.canvazcache.Artist\x12\x10\n\x08\x65xplicit\x18\x07 \x01(\x08\x12\x13\n\x0buploaded_by\x18\x08 \x01(\t\x12\x0c\n\x04\x65tag\x18\t \x01(\t\x12\x12\n\ncanvas_uri\x18\x0b \x01(\t"\x88\x01\n\x13\x45ntityCanvazRequest\x12\x45\n\x08\x65ntities\x18\x01 \x03(\x0b\x32\x33.com.spotify.canvazcache.EntityCanvazRequest.Entity\x1a*\n\x06\x45ntity\x12\x12\n\nentity_uri\x18\x01 \x01(\t\x12\x0c\n\x04\x65tag\x18\x02 \x01(\tB\x16\n\x12\x63om.spotify.canvazH\x02\x62\x06proto3', dependencies=[ canvaz__meta__pb2.DESCRIPTOR, - ]) + ], +) _ARTIST = _descriptor.Descriptor( - name='Artist', - full_name='com.spotify.canvazcache.Artist', + name="Artist", + full_name="com.spotify.canvazcache.Artist", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uri', - full_name='com.spotify.canvazcache.Artist.uri', + name="uri", + full_name="com.spotify.canvazcache.Artist.uri", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -49,17 +50,18 @@ _ARTIST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='name', - full_name='com.spotify.canvazcache.Artist.name', + name="name", + full_name="com.spotify.canvazcache.Artist.name", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -67,17 +69,18 @@ _ARTIST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='avatar', - full_name='com.spotify.canvazcache.Artist.avatar', + name="avatar", + full_name="com.spotify.canvazcache.Artist.avatar", index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -85,14 +88,15 @@ _ARTIST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=60, @@ -100,23 +104,23 @@ _ARTIST = _descriptor.Descriptor( ) _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( - name='Canvaz', - full_name='com.spotify.canvazcache.EntityCanvazResponse.Canvaz', + name="Canvaz", + full_name="com.spotify.canvazcache.EntityCanvazResponse.Canvaz", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='id', - full_name='com.spotify.canvazcache.EntityCanvazResponse.Canvaz.id', + name="id", + full_name="com.spotify.canvazcache.EntityCanvazResponse.Canvaz.id", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -124,17 +128,18 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='url', - full_name='com.spotify.canvazcache.EntityCanvazResponse.Canvaz.url', + name="url", + full_name="com.spotify.canvazcache.EntityCanvazResponse.Canvaz.url", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -142,18 +147,19 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='file_id', + name="file_id", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.file_id', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.file_id", index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -161,11 +167,12 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='type', + name="type", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.type', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.type", index=3, number=4, type=14, @@ -180,18 +187,19 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='entity_uri', + name="entity_uri", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.entity_uri', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.entity_uri", index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -199,11 +207,12 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='artist', + name="artist", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.artist', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.artist", index=5, number=6, type=11, @@ -218,11 +227,12 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='explicit', + name="explicit", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.explicit', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.explicit", index=6, number=7, type=8, @@ -237,18 +247,19 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='uploaded_by', + name="uploaded_by", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.uploaded_by', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.uploaded_by", index=7, number=8, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -256,18 +267,19 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='etag', + name="etag", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.etag', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.etag", index=8, number=9, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -275,18 +287,19 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='canvas_uri', + name="canvas_uri", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.Canvaz.canvas_uri', + "com.spotify.canvazcache.EntityCanvazResponse.Canvaz.canvas_uri", index=9, number=11, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -294,14 +307,15 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=235, @@ -309,16 +323,16 @@ _ENTITYCANVAZRESPONSE_CANVAZ = _descriptor.Descriptor( ) _ENTITYCANVAZRESPONSE = _descriptor.Descriptor( - name='EntityCanvazResponse', - full_name='com.spotify.canvazcache.EntityCanvazResponse', + name="EntityCanvazResponse", + full_name="com.spotify.canvazcache.EntityCanvazResponse", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='canvases', - full_name='com.spotify.canvazcache.EntityCanvazResponse.canvases', + name="canvases", + full_name="com.spotify.canvazcache.EntityCanvazResponse.canvases", index=0, number=1, type=11, @@ -333,11 +347,12 @@ _ENTITYCANVAZRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='ttl_in_seconds', + name="ttl_in_seconds", full_name= - 'com.spotify.canvazcache.EntityCanvazResponse.ttl_in_seconds', + "com.spotify.canvazcache.EntityCanvazResponse.ttl_in_seconds", index=1, number=2, type=3, @@ -352,7 +367,8 @@ _ENTITYCANVAZRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[ @@ -361,7 +377,7 @@ _ENTITYCANVAZRESPONSE = _descriptor.Descriptor( enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=114, @@ -369,24 +385,24 @@ _ENTITYCANVAZRESPONSE = _descriptor.Descriptor( ) _ENTITYCANVAZREQUEST_ENTITY = _descriptor.Descriptor( - name='Entity', - full_name='com.spotify.canvazcache.EntityCanvazRequest.Entity', + name="Entity", + full_name="com.spotify.canvazcache.EntityCanvazRequest.Entity", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='entity_uri', + name="entity_uri", full_name= - 'com.spotify.canvazcache.EntityCanvazRequest.Entity.entity_uri', + "com.spotify.canvazcache.EntityCanvazRequest.Entity.entity_uri", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -394,17 +410,18 @@ _ENTITYCANVAZREQUEST_ENTITY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='etag', - full_name='com.spotify.canvazcache.EntityCanvazRequest.Entity.etag', + name="etag", + full_name="com.spotify.canvazcache.EntityCanvazRequest.Entity.etag", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -412,14 +429,15 @@ _ENTITYCANVAZREQUEST_ENTITY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=564, @@ -427,16 +445,16 @@ _ENTITYCANVAZREQUEST_ENTITY = _descriptor.Descriptor( ) _ENTITYCANVAZREQUEST = _descriptor.Descriptor( - name='EntityCanvazRequest', - full_name='com.spotify.canvazcache.EntityCanvazRequest', + name="EntityCanvazRequest", + full_name="com.spotify.canvazcache.EntityCanvazRequest", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='entities', - full_name='com.spotify.canvazcache.EntityCanvazRequest.entities', + name="entities", + full_name="com.spotify.canvazcache.EntityCanvazRequest.entities", index=0, number=1, type=11, @@ -451,7 +469,8 @@ _ENTITYCANVAZREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[ @@ -460,7 +479,7 @@ _ENTITYCANVAZREQUEST = _descriptor.Descriptor( enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=470, @@ -468,71 +487,76 @@ _ENTITYCANVAZREQUEST = _descriptor.Descriptor( ) _ENTITYCANVAZRESPONSE_CANVAZ.fields_by_name[ - 'type'].enum_type = canvaz__meta__pb2._TYPE -_ENTITYCANVAZRESPONSE_CANVAZ.fields_by_name['artist'].message_type = _ARTIST + "type"].enum_type = canvaz__meta__pb2._TYPE +_ENTITYCANVAZRESPONSE_CANVAZ.fields_by_name["artist"].message_type = _ARTIST _ENTITYCANVAZRESPONSE_CANVAZ.containing_type = _ENTITYCANVAZRESPONSE _ENTITYCANVAZRESPONSE.fields_by_name[ - 'canvases'].message_type = _ENTITYCANVAZRESPONSE_CANVAZ + "canvases"].message_type = _ENTITYCANVAZRESPONSE_CANVAZ _ENTITYCANVAZREQUEST_ENTITY.containing_type = _ENTITYCANVAZREQUEST _ENTITYCANVAZREQUEST.fields_by_name[ - 'entities'].message_type = _ENTITYCANVAZREQUEST_ENTITY -DESCRIPTOR.message_types_by_name['Artist'] = _ARTIST + "entities"].message_type = _ENTITYCANVAZREQUEST_ENTITY +DESCRIPTOR.message_types_by_name["Artist"] = _ARTIST DESCRIPTOR.message_types_by_name[ - 'EntityCanvazResponse'] = _ENTITYCANVAZRESPONSE -DESCRIPTOR.message_types_by_name['EntityCanvazRequest'] = _ENTITYCANVAZREQUEST + "EntityCanvazResponse"] = _ENTITYCANVAZRESPONSE +DESCRIPTOR.message_types_by_name["EntityCanvazRequest"] = _ENTITYCANVAZREQUEST _sym_db.RegisterFileDescriptor(DESCRIPTOR) Artist = _reflection.GeneratedProtocolMessageType( - 'Artist', + "Artist", (_message.Message, ), { - 'DESCRIPTOR': _ARTIST, - '__module__': 'canvaz_pb2' + "DESCRIPTOR": _ARTIST, + "__module__": "canvaz_pb2" # @@protoc_insertion_point(class_scope:com.spotify.canvazcache.Artist) - }) + }, +) _sym_db.RegisterMessage(Artist) EntityCanvazResponse = _reflection.GeneratedProtocolMessageType( - 'EntityCanvazResponse', + "EntityCanvazResponse", (_message.Message, ), { - 'Canvaz': + "Canvaz": _reflection.GeneratedProtocolMessageType( - 'Canvaz', + "Canvaz", (_message.Message, ), { - 'DESCRIPTOR': _ENTITYCANVAZRESPONSE_CANVAZ, - '__module__': 'canvaz_pb2' + "DESCRIPTOR": _ENTITYCANVAZRESPONSE_CANVAZ, + "__module__": "canvaz_pb2" # @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazResponse.Canvaz) - }), - 'DESCRIPTOR': + }, + ), + "DESCRIPTOR": _ENTITYCANVAZRESPONSE, - '__module__': - 'canvaz_pb2' + "__module__": + "canvaz_pb2" # @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazResponse) - }) + }, +) _sym_db.RegisterMessage(EntityCanvazResponse) _sym_db.RegisterMessage(EntityCanvazResponse.Canvaz) EntityCanvazRequest = _reflection.GeneratedProtocolMessageType( - 'EntityCanvazRequest', + "EntityCanvazRequest", (_message.Message, ), { - 'Entity': + "Entity": _reflection.GeneratedProtocolMessageType( - 'Entity', + "Entity", (_message.Message, ), { - 'DESCRIPTOR': _ENTITYCANVAZREQUEST_ENTITY, - '__module__': 'canvaz_pb2' + "DESCRIPTOR": _ENTITYCANVAZREQUEST_ENTITY, + "__module__": "canvaz_pb2" # @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazRequest.Entity) - }), - 'DESCRIPTOR': + }, + ), + "DESCRIPTOR": _ENTITYCANVAZREQUEST, - '__module__': - 'canvaz_pb2' + "__module__": + "canvaz_pb2" # @@protoc_insertion_point(class_scope:com.spotify.canvazcache.EntityCanvazRequest) - }) + }, +) _sym_db.RegisterMessage(EntityCanvazRequest) _sym_db.RegisterMessage(EntityCanvazRequest.Entity) diff --git a/librespot/proto/CanvazMeta.py b/librespot/proto/CanvazMeta.py index 5f4576d..3b769fc 100644 --- a/librespot/proto/CanvazMeta.py +++ b/librespot/proto/CanvazMeta.py @@ -2,67 +2,73 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: canvaz-meta.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper 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 symbol_database as _symbol_database +from google.protobuf.internal import enum_type_wrapper + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='canvaz-meta.proto', - package='com.spotify.canvaz', - syntax='proto3', - serialized_options=b'\n\022com.spotify.canvazH\002', + name="canvaz-meta.proto", + package="com.spotify.canvaz", + syntax="proto3", + serialized_options=b"\n\022com.spotify.canvazH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x11\x63\x61nvaz-meta.proto\x12\x12\x63om.spotify.canvaz*R\n\x04Type\x12\t\n\x05IMAGE\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x11\n\rVIDEO_LOOPING\x10\x02\x12\x18\n\x14VIDEO_LOOPING_RANDOM\x10\x03\x12\x07\n\x03GIF\x10\x04\x42\x16\n\x12\x63om.spotify.canvazH\x02\x62\x06proto3' + b"\n\x11\x63\x61nvaz-meta.proto\x12\x12\x63om.spotify.canvaz*R\n\x04Type\x12\t\n\x05IMAGE\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x11\n\rVIDEO_LOOPING\x10\x02\x12\x18\n\x14VIDEO_LOOPING_RANDOM\x10\x03\x12\x07\n\x03GIF\x10\x04\x42\x16\n\x12\x63om.spotify.canvazH\x02\x62\x06proto3", ) _TYPE = _descriptor.EnumDescriptor( - name='Type', - full_name='com.spotify.canvaz.Type', + name="Type", + full_name="com.spotify.canvaz.Type", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='IMAGE', + name="IMAGE", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='VIDEO', + name="VIDEO", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='VIDEO_LOOPING', + name="VIDEO_LOOPING", index=2, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='VIDEO_LOOPING_RANDOM', + name="VIDEO_LOOPING_RANDOM", index=3, number=3, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='GIF', + name="GIF", index=4, number=4, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -78,7 +84,7 @@ VIDEO_LOOPING = 2 VIDEO_LOOPING_RANDOM = 3 GIF = 4 -DESCRIPTOR.enum_types_by_name['Type'] = _TYPE +DESCRIPTOR.enum_types_by_name["Type"] = _TYPE _sym_db.RegisterFileDescriptor(DESCRIPTOR) DESCRIPTOR._options = None diff --git a/librespot/proto/Context.py b/librespot/proto/Context.py index c50b5dd..d864f7a 100644 --- a/librespot/proto/Context.py +++ b/librespot/proto/Context.py @@ -2,48 +2,49 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: context.proto """Generated protocol buffer code.""" +import ContextPage as context__page__pb2 +import Restrictions as restrictions__pb2 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import ContextPage as context__page__pb2 -import Restrictions as restrictions__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='context.proto', - package='spotify.player.proto', - syntax='proto2', - serialized_options=b'\n\023com.spotify.contextH\002', + name="context.proto", + package="spotify.player.proto", + syntax="proto2", + serialized_options=b"\n\023com.spotify.contextH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\rcontext.proto\x12\x14spotify.player.proto\x1a\x12\x63ontext_page.proto\x1a\x12restrictions.proto\"\x90\x02\n\x07\x43ontext\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12=\n\x08metadata\x18\x03 \x03(\x0b\x32+.spotify.player.proto.Context.MetadataEntry\x12\x38\n\x0crestrictions\x18\x04 \x01(\x0b\x32\".spotify.player.proto.Restrictions\x12\x30\n\x05pages\x18\x05 \x03(\x0b\x32!.spotify.player.proto.ContextPage\x12\x0f\n\x07loading\x18\x06 \x01(\x08\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x13\x63om.spotify.contextH\x02', + b'\n\rcontext.proto\x12\x14spotify.player.proto\x1a\x12\x63ontext_page.proto\x1a\x12restrictions.proto"\x90\x02\n\x07\x43ontext\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12=\n\x08metadata\x18\x03 \x03(\x0b\x32+.spotify.player.proto.Context.MetadataEntry\x12\x38\n\x0crestrictions\x18\x04 \x01(\x0b\x32".spotify.player.proto.Restrictions\x12\x30\n\x05pages\x18\x05 \x03(\x0b\x32!.spotify.player.proto.ContextPage\x12\x0f\n\x07loading\x18\x06 \x01(\x08\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x13\x63om.spotify.contextH\x02', dependencies=[ context__page__pb2.DESCRIPTOR, restrictions__pb2.DESCRIPTOR, - ]) + ], +) _CONTEXT_METADATAENTRY = _descriptor.Descriptor( - name='MetadataEntry', - full_name='spotify.player.proto.Context.MetadataEntry', + name="MetadataEntry", + full_name="spotify.player.proto.Context.MetadataEntry", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', - full_name='spotify.player.proto.Context.MetadataEntry.key', + name="key", + full_name="spotify.player.proto.Context.MetadataEntry.key", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -51,17 +52,18 @@ _CONTEXT_METADATAENTRY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='value', - full_name='spotify.player.proto.Context.MetadataEntry.value', + name="value", + full_name="spotify.player.proto.Context.MetadataEntry.value", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -69,14 +71,15 @@ _CONTEXT_METADATAENTRY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], - serialized_options=b'8\001', + serialized_options=b"8\001", is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=305, @@ -84,23 +87,23 @@ _CONTEXT_METADATAENTRY = _descriptor.Descriptor( ) _CONTEXT = _descriptor.Descriptor( - name='Context', - full_name='spotify.player.proto.Context', + name="Context", + full_name="spotify.player.proto.Context", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uri', - full_name='spotify.player.proto.Context.uri', + name="uri", + full_name="spotify.player.proto.Context.uri", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -108,17 +111,18 @@ _CONTEXT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='url', - full_name='spotify.player.proto.Context.url', + name="url", + full_name="spotify.player.proto.Context.url", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -126,10 +130,11 @@ _CONTEXT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='metadata', - full_name='spotify.player.proto.Context.metadata', + name="metadata", + full_name="spotify.player.proto.Context.metadata", index=2, number=3, type=11, @@ -144,10 +149,11 @@ _CONTEXT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='restrictions', - full_name='spotify.player.proto.Context.restrictions', + name="restrictions", + full_name="spotify.player.proto.Context.restrictions", index=3, number=4, type=11, @@ -162,10 +168,11 @@ _CONTEXT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='pages', - full_name='spotify.player.proto.Context.pages', + name="pages", + full_name="spotify.player.proto.Context.pages", index=4, number=5, type=11, @@ -180,10 +187,11 @@ _CONTEXT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='loading', - full_name='spotify.player.proto.Context.loading', + name="loading", + full_name="spotify.player.proto.Context.loading", index=5, number=6, type=8, @@ -198,7 +206,8 @@ _CONTEXT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[ @@ -207,7 +216,7 @@ _CONTEXT = _descriptor.Descriptor( enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=80, @@ -215,32 +224,34 @@ _CONTEXT = _descriptor.Descriptor( ) _CONTEXT_METADATAENTRY.containing_type = _CONTEXT -_CONTEXT.fields_by_name['metadata'].message_type = _CONTEXT_METADATAENTRY +_CONTEXT.fields_by_name["metadata"].message_type = _CONTEXT_METADATAENTRY _CONTEXT.fields_by_name[ - 'restrictions'].message_type = restrictions__pb2._RESTRICTIONS -_CONTEXT.fields_by_name['pages'].message_type = context__page__pb2._CONTEXTPAGE -DESCRIPTOR.message_types_by_name['Context'] = _CONTEXT + "restrictions"].message_type = restrictions__pb2._RESTRICTIONS +_CONTEXT.fields_by_name["pages"].message_type = context__page__pb2._CONTEXTPAGE +DESCRIPTOR.message_types_by_name["Context"] = _CONTEXT _sym_db.RegisterFileDescriptor(DESCRIPTOR) Context = _reflection.GeneratedProtocolMessageType( - 'Context', + "Context", (_message.Message, ), { - 'MetadataEntry': + "MetadataEntry": _reflection.GeneratedProtocolMessageType( - 'MetadataEntry', + "MetadataEntry", (_message.Message, ), { - 'DESCRIPTOR': _CONTEXT_METADATAENTRY, - '__module__': 'context_pb2' + "DESCRIPTOR": _CONTEXT_METADATAENTRY, + "__module__": "context_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.Context.MetadataEntry) - }), - 'DESCRIPTOR': + }, + ), + "DESCRIPTOR": _CONTEXT, - '__module__': - 'context_pb2' + "__module__": + "context_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.Context) - }) + }, +) _sym_db.RegisterMessage(Context) _sym_db.RegisterMessage(Context.MetadataEntry) diff --git a/librespot/proto/ContextPage.py b/librespot/proto/ContextPage.py index b852a73..ae6e8d0 100644 --- a/librespot/proto/ContextPage.py +++ b/librespot/proto/ContextPage.py @@ -2,46 +2,47 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: context_page.proto """Generated protocol buffer code.""" +import ContextTrack as context__track__pb2 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import ContextTrack as context__track__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='context_page.proto', - package='spotify.player.proto', - syntax='proto2', - serialized_options=b'\n\023com.spotify.contextH\002', + name="context_page.proto", + package="spotify.player.proto", + syntax="proto2", + serialized_options=b"\n\023com.spotify.contextH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x12\x63ontext_page.proto\x12\x14spotify.player.proto\x1a\x13\x63ontext_track.proto\"\xef\x01\n\x0b\x43ontextPage\x12\x10\n\x08page_url\x18\x01 \x01(\t\x12\x15\n\rnext_page_url\x18\x02 \x01(\t\x12\x41\n\x08metadata\x18\x03 \x03(\x0b\x32/.spotify.player.proto.ContextPage.MetadataEntry\x12\x32\n\x06tracks\x18\x04 \x03(\x0b\x32\".spotify.player.proto.ContextTrack\x12\x0f\n\x07loading\x18\x05 \x01(\x08\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x13\x63om.spotify.contextH\x02', + b'\n\x12\x63ontext_page.proto\x12\x14spotify.player.proto\x1a\x13\x63ontext_track.proto"\xef\x01\n\x0b\x43ontextPage\x12\x10\n\x08page_url\x18\x01 \x01(\t\x12\x15\n\rnext_page_url\x18\x02 \x01(\t\x12\x41\n\x08metadata\x18\x03 \x03(\x0b\x32/.spotify.player.proto.ContextPage.MetadataEntry\x12\x32\n\x06tracks\x18\x04 \x03(\x0b\x32".spotify.player.proto.ContextTrack\x12\x0f\n\x07loading\x18\x05 \x01(\x08\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x13\x63om.spotify.contextH\x02', dependencies=[ context__track__pb2.DESCRIPTOR, - ]) + ], +) _CONTEXTPAGE_METADATAENTRY = _descriptor.Descriptor( - name='MetadataEntry', - full_name='spotify.player.proto.ContextPage.MetadataEntry', + name="MetadataEntry", + full_name="spotify.player.proto.ContextPage.MetadataEntry", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', - full_name='spotify.player.proto.ContextPage.MetadataEntry.key', + name="key", + full_name="spotify.player.proto.ContextPage.MetadataEntry.key", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -49,17 +50,18 @@ _CONTEXTPAGE_METADATAENTRY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='value', - full_name='spotify.player.proto.ContextPage.MetadataEntry.value', + name="value", + full_name="spotify.player.proto.ContextPage.MetadataEntry.value", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -67,14 +69,15 @@ _CONTEXTPAGE_METADATAENTRY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], - serialized_options=b'8\001', + serialized_options=b"8\001", is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=258, @@ -82,23 +85,23 @@ _CONTEXTPAGE_METADATAENTRY = _descriptor.Descriptor( ) _CONTEXTPAGE = _descriptor.Descriptor( - name='ContextPage', - full_name='spotify.player.proto.ContextPage', + name="ContextPage", + full_name="spotify.player.proto.ContextPage", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='page_url', - full_name='spotify.player.proto.ContextPage.page_url', + name="page_url", + full_name="spotify.player.proto.ContextPage.page_url", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -106,17 +109,18 @@ _CONTEXTPAGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='next_page_url', - full_name='spotify.player.proto.ContextPage.next_page_url', + name="next_page_url", + full_name="spotify.player.proto.ContextPage.next_page_url", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -124,10 +128,11 @@ _CONTEXTPAGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='metadata', - full_name='spotify.player.proto.ContextPage.metadata', + name="metadata", + full_name="spotify.player.proto.ContextPage.metadata", index=2, number=3, type=11, @@ -142,10 +147,11 @@ _CONTEXTPAGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='tracks', - full_name='spotify.player.proto.ContextPage.tracks', + name="tracks", + full_name="spotify.player.proto.ContextPage.tracks", index=3, number=4, type=11, @@ -160,10 +166,11 @@ _CONTEXTPAGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='loading', - full_name='spotify.player.proto.ContextPage.loading', + name="loading", + full_name="spotify.player.proto.ContextPage.loading", index=4, number=5, type=8, @@ -178,7 +185,8 @@ _CONTEXTPAGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[ @@ -187,7 +195,7 @@ _CONTEXTPAGE = _descriptor.Descriptor( enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=66, @@ -196,31 +204,33 @@ _CONTEXTPAGE = _descriptor.Descriptor( _CONTEXTPAGE_METADATAENTRY.containing_type = _CONTEXTPAGE _CONTEXTPAGE.fields_by_name[ - 'metadata'].message_type = _CONTEXTPAGE_METADATAENTRY + "metadata"].message_type = _CONTEXTPAGE_METADATAENTRY _CONTEXTPAGE.fields_by_name[ - 'tracks'].message_type = context__track__pb2._CONTEXTTRACK -DESCRIPTOR.message_types_by_name['ContextPage'] = _CONTEXTPAGE + "tracks"].message_type = context__track__pb2._CONTEXTTRACK +DESCRIPTOR.message_types_by_name["ContextPage"] = _CONTEXTPAGE _sym_db.RegisterFileDescriptor(DESCRIPTOR) ContextPage = _reflection.GeneratedProtocolMessageType( - 'ContextPage', + "ContextPage", (_message.Message, ), { - 'MetadataEntry': + "MetadataEntry": _reflection.GeneratedProtocolMessageType( - 'MetadataEntry', + "MetadataEntry", (_message.Message, ), { - 'DESCRIPTOR': _CONTEXTPAGE_METADATAENTRY, - '__module__': 'context_page_pb2' + "DESCRIPTOR": _CONTEXTPAGE_METADATAENTRY, + "__module__": "context_page_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.ContextPage.MetadataEntry) - }), - 'DESCRIPTOR': + }, + ), + "DESCRIPTOR": _CONTEXTPAGE, - '__module__': - 'context_page_pb2' + "__module__": + "context_page_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.ContextPage) - }) + }, +) _sym_db.RegisterMessage(ContextPage) _sym_db.RegisterMessage(ContextPage.MetadataEntry) diff --git a/librespot/proto/ContextPlayerOptions.py b/librespot/proto/ContextPlayerOptions.py index 51a4548..7b62e05 100644 --- a/librespot/proto/ContextPlayerOptions.py +++ b/librespot/proto/ContextPlayerOptions.py @@ -6,32 +6,33 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='context_player_options.proto', - package='spotify.player.proto', - syntax='proto2', - serialized_options=b'\n\023com.spotify.contextH\002', + name="context_player_options.proto", + package="spotify.player.proto", + syntax="proto2", + serialized_options=b"\n\023com.spotify.contextH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x1c\x63ontext_player_options.proto\x12\x14spotify.player.proto\"e\n\x14\x43ontextPlayerOptions\x12\x19\n\x11shuffling_context\x18\x01 \x01(\x08\x12\x19\n\x11repeating_context\x18\x02 \x01(\x08\x12\x17\n\x0frepeating_track\x18\x03 \x01(\x08\"m\n\x1c\x43ontextPlayerOptionOverrides\x12\x19\n\x11shuffling_context\x18\x01 \x01(\x08\x12\x19\n\x11repeating_context\x18\x02 \x01(\x08\x12\x17\n\x0frepeating_track\x18\x03 \x01(\x08\x42\x17\n\x13\x63om.spotify.contextH\x02' + b'\n\x1c\x63ontext_player_options.proto\x12\x14spotify.player.proto"e\n\x14\x43ontextPlayerOptions\x12\x19\n\x11shuffling_context\x18\x01 \x01(\x08\x12\x19\n\x11repeating_context\x18\x02 \x01(\x08\x12\x17\n\x0frepeating_track\x18\x03 \x01(\x08"m\n\x1c\x43ontextPlayerOptionOverrides\x12\x19\n\x11shuffling_context\x18\x01 \x01(\x08\x12\x19\n\x11repeating_context\x18\x02 \x01(\x08\x12\x17\n\x0frepeating_track\x18\x03 \x01(\x08\x42\x17\n\x13\x63om.spotify.contextH\x02', ) _CONTEXTPLAYEROPTIONS = _descriptor.Descriptor( - name='ContextPlayerOptions', - full_name='spotify.player.proto.ContextPlayerOptions', + name="ContextPlayerOptions", + full_name="spotify.player.proto.ContextPlayerOptions", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='shuffling_context', + name="shuffling_context", full_name= - 'spotify.player.proto.ContextPlayerOptions.shuffling_context', + "spotify.player.proto.ContextPlayerOptions.shuffling_context", index=0, number=1, type=8, @@ -46,11 +47,12 @@ _CONTEXTPLAYEROPTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='repeating_context', + name="repeating_context", full_name= - 'spotify.player.proto.ContextPlayerOptions.repeating_context', + "spotify.player.proto.ContextPlayerOptions.repeating_context", index=1, number=2, type=8, @@ -65,11 +67,12 @@ _CONTEXTPLAYEROPTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='repeating_track', + name="repeating_track", full_name= - 'spotify.player.proto.ContextPlayerOptions.repeating_track', + "spotify.player.proto.ContextPlayerOptions.repeating_track", index=2, number=3, type=8, @@ -84,14 +87,15 @@ _CONTEXTPLAYEROPTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=54, @@ -99,17 +103,17 @@ _CONTEXTPLAYEROPTIONS = _descriptor.Descriptor( ) _CONTEXTPLAYEROPTIONOVERRIDES = _descriptor.Descriptor( - name='ContextPlayerOptionOverrides', - full_name='spotify.player.proto.ContextPlayerOptionOverrides', + name="ContextPlayerOptionOverrides", + full_name="spotify.player.proto.ContextPlayerOptionOverrides", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='shuffling_context', + name="shuffling_context", full_name= - 'spotify.player.proto.ContextPlayerOptionOverrides.shuffling_context', + "spotify.player.proto.ContextPlayerOptionOverrides.shuffling_context", index=0, number=1, type=8, @@ -124,11 +128,12 @@ _CONTEXTPLAYEROPTIONOVERRIDES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='repeating_context', + name="repeating_context", full_name= - 'spotify.player.proto.ContextPlayerOptionOverrides.repeating_context', + "spotify.player.proto.ContextPlayerOptionOverrides.repeating_context", index=1, number=2, type=8, @@ -143,11 +148,12 @@ _CONTEXTPLAYEROPTIONOVERRIDES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='repeating_track', + name="repeating_track", full_name= - 'spotify.player.proto.ContextPlayerOptionOverrides.repeating_track', + "spotify.player.proto.ContextPlayerOptionOverrides.repeating_track", index=2, number=3, type=8, @@ -162,14 +168,15 @@ _CONTEXTPLAYEROPTIONOVERRIDES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=157, @@ -177,29 +184,31 @@ _CONTEXTPLAYEROPTIONOVERRIDES = _descriptor.Descriptor( ) DESCRIPTOR.message_types_by_name[ - 'ContextPlayerOptions'] = _CONTEXTPLAYEROPTIONS + "ContextPlayerOptions"] = _CONTEXTPLAYEROPTIONS DESCRIPTOR.message_types_by_name[ - 'ContextPlayerOptionOverrides'] = _CONTEXTPLAYEROPTIONOVERRIDES + "ContextPlayerOptionOverrides"] = _CONTEXTPLAYEROPTIONOVERRIDES _sym_db.RegisterFileDescriptor(DESCRIPTOR) ContextPlayerOptions = _reflection.GeneratedProtocolMessageType( - 'ContextPlayerOptions', + "ContextPlayerOptions", (_message.Message, ), { - 'DESCRIPTOR': _CONTEXTPLAYEROPTIONS, - '__module__': 'context_player_options_pb2' + "DESCRIPTOR": _CONTEXTPLAYEROPTIONS, + "__module__": "context_player_options_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.ContextPlayerOptions) - }) + }, +) _sym_db.RegisterMessage(ContextPlayerOptions) ContextPlayerOptionOverrides = _reflection.GeneratedProtocolMessageType( - 'ContextPlayerOptionOverrides', + "ContextPlayerOptionOverrides", (_message.Message, ), { - 'DESCRIPTOR': _CONTEXTPLAYEROPTIONOVERRIDES, - '__module__': 'context_player_options_pb2' + "DESCRIPTOR": _CONTEXTPLAYEROPTIONOVERRIDES, + "__module__": "context_player_options_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.ContextPlayerOptionOverrides) - }) + }, +) _sym_db.RegisterMessage(ContextPlayerOptionOverrides) DESCRIPTOR._options = None diff --git a/librespot/proto/ContextTrack.py b/librespot/proto/ContextTrack.py index 45155a2..495b4ea 100644 --- a/librespot/proto/ContextTrack.py +++ b/librespot/proto/ContextTrack.py @@ -6,38 +6,39 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='context_track.proto', - package='spotify.player.proto', - syntax='proto2', - serialized_options=b'\n\023com.spotify.contextH\002', + name="context_track.proto", + package="spotify.player.proto", + syntax="proto2", + serialized_options=b"\n\023com.spotify.contextH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x13\x63ontext_track.proto\x12\x14spotify.player.proto\"\xaa\x01\n\x0c\x43ontextTrack\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\t\x12\x0b\n\x03gid\x18\x03 \x01(\x0c\x12\x42\n\x08metadata\x18\x04 \x03(\x0b\x32\x30.spotify.player.proto.ContextTrack.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x13\x63om.spotify.contextH\x02' + b'\n\x13\x63ontext_track.proto\x12\x14spotify.player.proto"\xaa\x01\n\x0c\x43ontextTrack\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\t\x12\x0b\n\x03gid\x18\x03 \x01(\x0c\x12\x42\n\x08metadata\x18\x04 \x03(\x0b\x32\x30.spotify.player.proto.ContextTrack.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x13\x63om.spotify.contextH\x02', ) _CONTEXTTRACK_METADATAENTRY = _descriptor.Descriptor( - name='MetadataEntry', - full_name='spotify.player.proto.ContextTrack.MetadataEntry', + name="MetadataEntry", + full_name="spotify.player.proto.ContextTrack.MetadataEntry", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', - full_name='spotify.player.proto.ContextTrack.MetadataEntry.key', + name="key", + full_name="spotify.player.proto.ContextTrack.MetadataEntry.key", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -45,17 +46,18 @@ _CONTEXTTRACK_METADATAENTRY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='value', - full_name='spotify.player.proto.ContextTrack.MetadataEntry.value', + name="value", + full_name="spotify.player.proto.ContextTrack.MetadataEntry.value", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -63,14 +65,15 @@ _CONTEXTTRACK_METADATAENTRY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], - serialized_options=b'8\001', + serialized_options=b"8\001", is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=169, @@ -78,23 +81,23 @@ _CONTEXTTRACK_METADATAENTRY = _descriptor.Descriptor( ) _CONTEXTTRACK = _descriptor.Descriptor( - name='ContextTrack', - full_name='spotify.player.proto.ContextTrack', + name="ContextTrack", + full_name="spotify.player.proto.ContextTrack", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uri', - full_name='spotify.player.proto.ContextTrack.uri', + name="uri", + full_name="spotify.player.proto.ContextTrack.uri", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -102,17 +105,18 @@ _CONTEXTTRACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='uid', - full_name='spotify.player.proto.ContextTrack.uid', + name="uid", + full_name="spotify.player.proto.ContextTrack.uid", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -120,10 +124,11 @@ _CONTEXTTRACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='gid', - full_name='spotify.player.proto.ContextTrack.gid', + name="gid", + full_name="spotify.player.proto.ContextTrack.gid", index=2, number=3, type=12, @@ -138,10 +143,11 @@ _CONTEXTTRACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='metadata', - full_name='spotify.player.proto.ContextTrack.metadata', + name="metadata", + full_name="spotify.player.proto.ContextTrack.metadata", index=3, number=4, type=11, @@ -156,7 +162,8 @@ _CONTEXTTRACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[ @@ -165,7 +172,7 @@ _CONTEXTTRACK = _descriptor.Descriptor( enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=46, @@ -174,29 +181,31 @@ _CONTEXTTRACK = _descriptor.Descriptor( _CONTEXTTRACK_METADATAENTRY.containing_type = _CONTEXTTRACK _CONTEXTTRACK.fields_by_name[ - 'metadata'].message_type = _CONTEXTTRACK_METADATAENTRY -DESCRIPTOR.message_types_by_name['ContextTrack'] = _CONTEXTTRACK + "metadata"].message_type = _CONTEXTTRACK_METADATAENTRY +DESCRIPTOR.message_types_by_name["ContextTrack"] = _CONTEXTTRACK _sym_db.RegisterFileDescriptor(DESCRIPTOR) ContextTrack = _reflection.GeneratedProtocolMessageType( - 'ContextTrack', + "ContextTrack", (_message.Message, ), { - 'MetadataEntry': + "MetadataEntry": _reflection.GeneratedProtocolMessageType( - 'MetadataEntry', + "MetadataEntry", (_message.Message, ), { - 'DESCRIPTOR': _CONTEXTTRACK_METADATAENTRY, - '__module__': 'context_track_pb2' + "DESCRIPTOR": _CONTEXTTRACK_METADATAENTRY, + "__module__": "context_track_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.ContextTrack.MetadataEntry) - }), - 'DESCRIPTOR': + }, + ), + "DESCRIPTOR": _CONTEXTTRACK, - '__module__': - 'context_track_pb2' + "__module__": + "context_track_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.ContextTrack) - }) + }, +) _sym_db.RegisterMessage(ContextTrack) _sym_db.RegisterMessage(ContextTrack.MetadataEntry) diff --git a/librespot/proto/PlayOrigin.py b/librespot/proto/PlayOrigin.py index e013e4c..64b3efe 100644 --- a/librespot/proto/PlayOrigin.py +++ b/librespot/proto/PlayOrigin.py @@ -6,38 +6,39 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='play_origin.proto', - package='spotify.player.proto', - syntax='proto2', - serialized_options=b'\n\023com.spotify.contextH\002', + name="play_origin.proto", + package="spotify.player.proto", + syntax="proto2", + serialized_options=b"\n\023com.spotify.contextH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x11play_origin.proto\x12\x14spotify.player.proto\"\xbf\x01\n\nPlayOrigin\x12\x1a\n\x12\x66\x65\x61ture_identifier\x18\x01 \x01(\t\x12\x17\n\x0f\x66\x65\x61ture_version\x18\x02 \x01(\t\x12\x10\n\x08view_uri\x18\x03 \x01(\t\x12\x19\n\x11\x65xternal_referrer\x18\x04 \x01(\t\x12\x1b\n\x13referrer_identifier\x18\x05 \x01(\t\x12\x19\n\x11\x64\x65vice_identifier\x18\x06 \x01(\t\x12\x17\n\x0f\x66\x65\x61ture_classes\x18\x07 \x03(\tB\x17\n\x13\x63om.spotify.contextH\x02' + b'\n\x11play_origin.proto\x12\x14spotify.player.proto"\xbf\x01\n\nPlayOrigin\x12\x1a\n\x12\x66\x65\x61ture_identifier\x18\x01 \x01(\t\x12\x17\n\x0f\x66\x65\x61ture_version\x18\x02 \x01(\t\x12\x10\n\x08view_uri\x18\x03 \x01(\t\x12\x19\n\x11\x65xternal_referrer\x18\x04 \x01(\t\x12\x1b\n\x13referrer_identifier\x18\x05 \x01(\t\x12\x19\n\x11\x64\x65vice_identifier\x18\x06 \x01(\t\x12\x17\n\x0f\x66\x65\x61ture_classes\x18\x07 \x03(\tB\x17\n\x13\x63om.spotify.contextH\x02', ) _PLAYORIGIN = _descriptor.Descriptor( - name='PlayOrigin', - full_name='spotify.player.proto.PlayOrigin', + name="PlayOrigin", + full_name="spotify.player.proto.PlayOrigin", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='feature_identifier', - full_name='spotify.player.proto.PlayOrigin.feature_identifier', + name="feature_identifier", + full_name="spotify.player.proto.PlayOrigin.feature_identifier", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -45,17 +46,18 @@ _PLAYORIGIN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='feature_version', - full_name='spotify.player.proto.PlayOrigin.feature_version', + name="feature_version", + full_name="spotify.player.proto.PlayOrigin.feature_version", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -63,17 +65,18 @@ _PLAYORIGIN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='view_uri', - full_name='spotify.player.proto.PlayOrigin.view_uri', + name="view_uri", + full_name="spotify.player.proto.PlayOrigin.view_uri", index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -81,17 +84,18 @@ _PLAYORIGIN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='external_referrer', - full_name='spotify.player.proto.PlayOrigin.external_referrer', + name="external_referrer", + full_name="spotify.player.proto.PlayOrigin.external_referrer", index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -99,17 +103,18 @@ _PLAYORIGIN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='referrer_identifier', - full_name='spotify.player.proto.PlayOrigin.referrer_identifier', + name="referrer_identifier", + full_name="spotify.player.proto.PlayOrigin.referrer_identifier", index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -117,17 +122,18 @@ _PLAYORIGIN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='device_identifier', - full_name='spotify.player.proto.PlayOrigin.device_identifier', + name="device_identifier", + full_name="spotify.player.proto.PlayOrigin.device_identifier", index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -135,10 +141,11 @@ _PLAYORIGIN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='feature_classes', - full_name='spotify.player.proto.PlayOrigin.feature_classes', + name="feature_classes", + full_name="spotify.player.proto.PlayOrigin.feature_classes", index=6, number=7, type=9, @@ -153,31 +160,33 @@ _PLAYORIGIN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=44, serialized_end=235, ) -DESCRIPTOR.message_types_by_name['PlayOrigin'] = _PLAYORIGIN +DESCRIPTOR.message_types_by_name["PlayOrigin"] = _PLAYORIGIN _sym_db.RegisterFileDescriptor(DESCRIPTOR) PlayOrigin = _reflection.GeneratedProtocolMessageType( - 'PlayOrigin', + "PlayOrigin", (_message.Message, ), { - 'DESCRIPTOR': _PLAYORIGIN, - '__module__': 'play_origin_pb2' + "DESCRIPTOR": _PLAYORIGIN, + "__module__": "play_origin_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.PlayOrigin) - }) + }, +) _sym_db.RegisterMessage(PlayOrigin) DESCRIPTOR._options = None diff --git a/librespot/proto/Playback.py b/librespot/proto/Playback.py index 60e72d1..dfbef8b 100644 --- a/librespot/proto/Playback.py +++ b/librespot/proto/Playback.py @@ -2,39 +2,40 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: playback.proto """Generated protocol buffer code.""" +import ContextTrack as context__track__pb2 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import ContextTrack as context__track__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='playback.proto', - package='spotify.player.proto.transfer', - syntax='proto2', - serialized_options=b'\n\024com.spotify.transferH\002', + name="playback.proto", + package="spotify.player.proto.transfer", + syntax="proto2", + serialized_options=b"\n\024com.spotify.transferH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x0eplayback.proto\x12\x1dspotify.player.proto.transfer\x1a\x13\x63ontext_track.proto\"\xa5\x01\n\x08Playback\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12 \n\x18position_as_of_timestamp\x18\x02 \x01(\x05\x12\x16\n\x0eplayback_speed\x18\x03 \x01(\x01\x12\x11\n\tis_paused\x18\x04 \x01(\x08\x12\x39\n\rcurrent_track\x18\x05 \x01(\x0b\x32\".spotify.player.proto.ContextTrackB\x18\n\x14\x63om.spotify.transferH\x02', + b'\n\x0eplayback.proto\x12\x1dspotify.player.proto.transfer\x1a\x13\x63ontext_track.proto"\xa5\x01\n\x08Playback\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12 \n\x18position_as_of_timestamp\x18\x02 \x01(\x05\x12\x16\n\x0eplayback_speed\x18\x03 \x01(\x01\x12\x11\n\tis_paused\x18\x04 \x01(\x08\x12\x39\n\rcurrent_track\x18\x05 \x01(\x0b\x32".spotify.player.proto.ContextTrackB\x18\n\x14\x63om.spotify.transferH\x02', dependencies=[ context__track__pb2.DESCRIPTOR, - ]) + ], +) _PLAYBACK = _descriptor.Descriptor( - name='Playback', - full_name='spotify.player.proto.transfer.Playback', + name="Playback", + full_name="spotify.player.proto.transfer.Playback", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='timestamp', - full_name='spotify.player.proto.transfer.Playback.timestamp', + name="timestamp", + full_name="spotify.player.proto.transfer.Playback.timestamp", index=0, number=1, type=3, @@ -49,11 +50,12 @@ _PLAYBACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='position_as_of_timestamp', + name="position_as_of_timestamp", full_name= - 'spotify.player.proto.transfer.Playback.position_as_of_timestamp', + "spotify.player.proto.transfer.Playback.position_as_of_timestamp", index=1, number=2, type=5, @@ -68,10 +70,11 @@ _PLAYBACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='playback_speed', - full_name='spotify.player.proto.transfer.Playback.playback_speed', + name="playback_speed", + full_name="spotify.player.proto.transfer.Playback.playback_speed", index=2, number=3, type=1, @@ -86,10 +89,11 @@ _PLAYBACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='is_paused', - full_name='spotify.player.proto.transfer.Playback.is_paused', + name="is_paused", + full_name="spotify.player.proto.transfer.Playback.is_paused", index=3, number=4, type=8, @@ -104,10 +108,11 @@ _PLAYBACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='current_track', - full_name='spotify.player.proto.transfer.Playback.current_track', + name="current_track", + full_name="spotify.player.proto.transfer.Playback.current_track", index=4, number=5, type=11, @@ -122,14 +127,15 @@ _PLAYBACK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=71, @@ -137,18 +143,19 @@ _PLAYBACK = _descriptor.Descriptor( ) _PLAYBACK.fields_by_name[ - 'current_track'].message_type = context__track__pb2._CONTEXTTRACK -DESCRIPTOR.message_types_by_name['Playback'] = _PLAYBACK + "current_track"].message_type = context__track__pb2._CONTEXTTRACK +DESCRIPTOR.message_types_by_name["Playback"] = _PLAYBACK _sym_db.RegisterFileDescriptor(DESCRIPTOR) Playback = _reflection.GeneratedProtocolMessageType( - 'Playback', + "Playback", (_message.Message, ), { - 'DESCRIPTOR': _PLAYBACK, - '__module__': 'playback_pb2' + "DESCRIPTOR": _PLAYBACK, + "__module__": "playback_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.transfer.Playback) - }) + }, +) _sym_db.RegisterMessage(Playback) DESCRIPTOR._options = None diff --git a/librespot/proto/Playlist4External.py b/librespot/proto/Playlist4External.py index 72c5896..f49f4ff 100644 --- a/librespot/proto/Playlist4External.py +++ b/librespot/proto/Playlist4External.py @@ -2,103 +2,114 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: playlist4_external.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper 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 symbol_database as _symbol_database +from google.protobuf.internal import enum_type_wrapper + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='playlist4_external.proto', - package='spotify.playlist4.proto', - syntax='proto2', + name="playlist4_external.proto", + package="spotify.playlist4.proto", + syntax="proto2", serialized_options= - b'\n\025com.spotify.playlist4B\021Playlist4ApiProtoH\002', + b"\n\025com.spotify.playlist4B\021Playlist4ApiProtoH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x18playlist4_external.proto\x12\x17spotify.playlist4.proto\"P\n\x04Item\x12\x0b\n\x03uri\x18\x01 \x02(\t\x12;\n\nattributes\x18\x02 \x01(\x0b\x32\'.spotify.playlist4.proto.ItemAttributes\"\x94\x01\n\x08MetaItem\x12\x10\n\x08revision\x18\x01 \x01(\x0c\x12;\n\nattributes\x18\x02 \x01(\x0b\x32\'.spotify.playlist4.proto.ListAttributes\x12\x0e\n\x06length\x18\x03 \x01(\x05\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12\x16\n\x0eowner_username\x18\x05 \x01(\t\"\x90\x01\n\tListItems\x12\x0b\n\x03pos\x18\x01 \x02(\x05\x12\x11\n\ttruncated\x18\x02 \x02(\x08\x12,\n\x05items\x18\x03 \x03(\x0b\x32\x1d.spotify.playlist4.proto.Item\x12\x35\n\nmeta_items\x18\x04 \x03(\x0b\x32!.spotify.playlist4.proto.MetaItem\"1\n\x13\x46ormatListAttribute\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xf6\x01\n\x0eListAttributes\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0f\n\x07picture\x18\x03 \x01(\x0c\x12\x15\n\rcollaborative\x18\x04 \x01(\x08\x12\x13\n\x0bpl3_version\x18\x05 \x01(\t\x12\x18\n\x10\x64\x65leted_by_owner\x18\x06 \x01(\x08\x12\x11\n\tclient_id\x18\n \x01(\t\x12\x0e\n\x06\x66ormat\x18\x0b \x01(\t\x12G\n\x11\x66ormat_attributes\x18\x0c \x03(\x0b\x32,.spotify.playlist4.proto.FormatListAttribute\"\xb0\x01\n\x0eItemAttributes\x12\x10\n\x08\x61\x64\x64\x65\x64_by\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x0f\n\x07seen_at\x18\t \x01(\x03\x12\x0e\n\x06public\x18\n \x01(\x08\x12G\n\x11\x66ormat_attributes\x18\x0b \x03(\x0b\x32,.spotify.playlist4.proto.FormatListAttribute\x12\x0f\n\x07item_id\x18\x0c \x01(\x0c\"l\n\x03\x41\x64\x64\x12\x12\n\nfrom_index\x18\x01 \x01(\x05\x12,\n\x05items\x18\x02 \x03(\x0b\x32\x1d.spotify.playlist4.proto.Item\x12\x10\n\x08\x61\x64\x64_last\x18\x04 \x01(\x08\x12\x11\n\tadd_first\x18\x05 \x01(\x08\"m\n\x03Rem\x12\x12\n\nfrom_index\x18\x01 \x01(\x05\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12,\n\x05items\x18\x03 \x03(\x0b\x32\x1d.spotify.playlist4.proto.Item\x12\x14\n\x0citems_as_key\x18\x07 \x01(\x08\";\n\x03Mov\x12\x12\n\nfrom_index\x18\x01 \x02(\x05\x12\x0e\n\x06length\x18\x02 \x02(\x05\x12\x10\n\x08to_index\x18\x03 \x02(\x05\"\x93\x01\n\x1aItemAttributesPartialState\x12\x37\n\x06values\x18\x01 \x02(\x0b\x32\'.spotify.playlist4.proto.ItemAttributes\x12<\n\x08no_value\x18\x02 \x03(\x0e\x32*.spotify.playlist4.proto.ItemAttributeKind\"\x93\x01\n\x1aListAttributesPartialState\x12\x37\n\x06values\x18\x01 \x02(\x0b\x32\'.spotify.playlist4.proto.ListAttributes\x12<\n\x08no_value\x18\x02 \x03(\x0e\x32*.spotify.playlist4.proto.ListAttributeKind\"\xbf\x01\n\x14UpdateItemAttributes\x12\r\n\x05index\x18\x01 \x02(\x05\x12K\n\x0enew_attributes\x18\x02 \x02(\x0b\x32\x33.spotify.playlist4.proto.ItemAttributesPartialState\x12K\n\x0eold_attributes\x18\x03 \x01(\x0b\x32\x33.spotify.playlist4.proto.ItemAttributesPartialState\"\xb0\x01\n\x14UpdateListAttributes\x12K\n\x0enew_attributes\x18\x01 \x02(\x0b\x32\x33.spotify.playlist4.proto.ListAttributesPartialState\x12K\n\x0eold_attributes\x18\x02 \x01(\x0b\x32\x33.spotify.playlist4.proto.ListAttributesPartialState\"\xc0\x03\n\x02Op\x12.\n\x04kind\x18\x01 \x02(\x0e\x32 .spotify.playlist4.proto.Op.Kind\x12)\n\x03\x61\x64\x64\x18\x02 \x01(\x0b\x32\x1c.spotify.playlist4.proto.Add\x12)\n\x03rem\x18\x03 \x01(\x0b\x32\x1c.spotify.playlist4.proto.Rem\x12)\n\x03mov\x18\x04 \x01(\x0b\x32\x1c.spotify.playlist4.proto.Mov\x12M\n\x16update_item_attributes\x18\x05 \x01(\x0b\x32-.spotify.playlist4.proto.UpdateItemAttributes\x12M\n\x16update_list_attributes\x18\x06 \x01(\x0b\x32-.spotify.playlist4.proto.UpdateListAttributes\"k\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x02\x12\x07\n\x03REM\x10\x03\x12\x07\n\x03MOV\x10\x04\x12\x1a\n\x16UPDATE_ITEM_ATTRIBUTES\x10\x05\x12\x1a\n\x16UPDATE_LIST_ATTRIBUTES\x10\x06\"2\n\x06OpList\x12(\n\x03ops\x18\x01 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op\"\xd5\x01\n\nChangeInfo\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05\x61\x64min\x18\x03 \x01(\x08\x12\x0c\n\x04undo\x18\x04 \x01(\x08\x12\x0c\n\x04redo\x18\x05 \x01(\x08\x12\r\n\x05merge\x18\x06 \x01(\x08\x12\x12\n\ncompressed\x18\x07 \x01(\x08\x12\x11\n\tmigration\x18\x08 \x01(\x08\x12\x10\n\x08split_id\x18\t \x01(\x05\x12\x33\n\x06source\x18\n \x01(\x0b\x32#.spotify.playlist4.proto.SourceInfo\"\xe8\x01\n\nSourceInfo\x12:\n\x06\x63lient\x18\x01 \x01(\x0e\x32*.spotify.playlist4.proto.SourceInfo.Client\x12\x0b\n\x03\x61pp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\"p\n\x06\x43lient\x12\x12\n\x0e\x43LIENT_UNKNOWN\x10\x00\x12\x11\n\rNATIVE_HERMES\x10\x01\x12\n\n\x06\x43LIENT\x10\x02\x12\n\n\x06PYTHON\x10\x03\x12\x08\n\x04JAVA\x10\x04\x12\r\n\tWEBPLAYER\x10\x05\x12\x0e\n\nLIBSPOTIFY\x10\x06\"z\n\x05\x44\x65lta\x12\x14\n\x0c\x62\x61se_version\x18\x01 \x01(\x0c\x12(\n\x03ops\x18\x02 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op\x12\x31\n\x04info\x18\x04 \x01(\x0b\x32#.spotify.playlist4.proto.ChangeInfo\"\\\n\x04\x44iff\x12\x15\n\rfrom_revision\x18\x01 \x02(\x0c\x12(\n\x03ops\x18\x02 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op\x12\x13\n\x0bto_revision\x18\x03 \x02(\x0c\"\xa0\x01\n\x0bListChanges\x12\x15\n\rbase_revision\x18\x01 \x01(\x0c\x12.\n\x06\x64\x65ltas\x18\x02 \x03(\x0b\x32\x1e.spotify.playlist4.proto.Delta\x12 \n\x18want_resulting_revisions\x18\x03 \x01(\x08\x12\x18\n\x10want_sync_result\x18\x04 \x01(\x08\x12\x0e\n\x06nonces\x18\x06 \x03(\x03\"\x8f\x03\n\x13SelectedListContent\x12\x10\n\x08revision\x18\x01 \x01(\x0c\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12;\n\nattributes\x18\x03 \x01(\x0b\x32\'.spotify.playlist4.proto.ListAttributes\x12\x34\n\x08\x63ontents\x18\x05 \x01(\x0b\x32\".spotify.playlist4.proto.ListItems\x12+\n\x04\x64iff\x18\x06 \x01(\x0b\x32\x1d.spotify.playlist4.proto.Diff\x12\x32\n\x0bsync_result\x18\x07 \x01(\x0b\x32\x1d.spotify.playlist4.proto.Diff\x12\x1b\n\x13resulting_revisions\x18\x08 \x03(\x0c\x12\x16\n\x0emultiple_heads\x18\t \x01(\x08\x12\x12\n\nup_to_date\x18\n \x01(\x08\x12\x0e\n\x06nonces\x18\x0e \x03(\x03\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\x12\x16\n\x0eowner_username\x18\x10 \x01(\t\"0\n\x0f\x43reateListReply\x12\x0b\n\x03uri\x18\x01 \x02(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x0c\",\n\x0bModifyReply\x12\x0b\n\x03uri\x18\x01 \x02(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x0c\" \n\x10SubscribeRequest\x12\x0c\n\x04uris\x18\x01 \x03(\x0c\"\"\n\x12UnsubscribeRequest\x12\x0c\n\x04uris\x18\x01 \x03(\x0c\"\x80\x01\n\x18PlaylistModificationInfo\x12\x0b\n\x03uri\x18\x01 \x01(\x0c\x12\x14\n\x0cnew_revision\x18\x02 \x01(\x0c\x12\x17\n\x0fparent_revision\x18\x03 \x01(\x0c\x12(\n\x03ops\x18\x04 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op*\xe6\x01\n\x11ListAttributeKind\x12\x10\n\x0cLIST_UNKNOWN\x10\x00\x12\r\n\tLIST_NAME\x10\x01\x12\x14\n\x10LIST_DESCRIPTION\x10\x02\x12\x10\n\x0cLIST_PICTURE\x10\x03\x12\x16\n\x12LIST_COLLABORATIVE\x10\x04\x12\x14\n\x10LIST_PL3_VERSION\x10\x05\x12\x19\n\x15LIST_DELETED_BY_OWNER\x10\x06\x12\x12\n\x0eLIST_CLIENT_ID\x10\n\x12\x0f\n\x0bLIST_FORMAT\x10\x0b\x12\x1a\n\x16LIST_FORMAT_ATTRIBUTES\x10\x0c*\x98\x01\n\x11ItemAttributeKind\x12\x10\n\x0cITEM_UNKNOWN\x10\x00\x12\x11\n\rITEM_ADDED_BY\x10\x01\x12\x12\n\x0eITEM_TIMESTAMP\x10\x02\x12\x10\n\x0cITEM_SEEN_AT\x10\t\x12\x0f\n\x0bITEM_PUBLIC\x10\n\x12\x1a\n\x16ITEM_FORMAT_ATTRIBUTES\x10\x0b\x12\x0b\n\x07ITEM_ID\x10\x0c\x42,\n\x15\x63om.spotify.playlist4B\x11Playlist4ApiProtoH\x02' + b'\n\x18playlist4_external.proto\x12\x17spotify.playlist4.proto"P\n\x04Item\x12\x0b\n\x03uri\x18\x01 \x02(\t\x12;\n\nattributes\x18\x02 \x01(\x0b\x32\'.spotify.playlist4.proto.ItemAttributes"\x94\x01\n\x08MetaItem\x12\x10\n\x08revision\x18\x01 \x01(\x0c\x12;\n\nattributes\x18\x02 \x01(\x0b\x32\'.spotify.playlist4.proto.ListAttributes\x12\x0e\n\x06length\x18\x03 \x01(\x05\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12\x16\n\x0eowner_username\x18\x05 \x01(\t"\x90\x01\n\tListItems\x12\x0b\n\x03pos\x18\x01 \x02(\x05\x12\x11\n\ttruncated\x18\x02 \x02(\x08\x12,\n\x05items\x18\x03 \x03(\x0b\x32\x1d.spotify.playlist4.proto.Item\x12\x35\n\nmeta_items\x18\x04 \x03(\x0b\x32!.spotify.playlist4.proto.MetaItem"1\n\x13\x46ormatListAttribute\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t"\xf6\x01\n\x0eListAttributes\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0f\n\x07picture\x18\x03 \x01(\x0c\x12\x15\n\rcollaborative\x18\x04 \x01(\x08\x12\x13\n\x0bpl3_version\x18\x05 \x01(\t\x12\x18\n\x10\x64\x65leted_by_owner\x18\x06 \x01(\x08\x12\x11\n\tclient_id\x18\n \x01(\t\x12\x0e\n\x06\x66ormat\x18\x0b \x01(\t\x12G\n\x11\x66ormat_attributes\x18\x0c \x03(\x0b\x32,.spotify.playlist4.proto.FormatListAttribute"\xb0\x01\n\x0eItemAttributes\x12\x10\n\x08\x61\x64\x64\x65\x64_by\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x0f\n\x07seen_at\x18\t \x01(\x03\x12\x0e\n\x06public\x18\n \x01(\x08\x12G\n\x11\x66ormat_attributes\x18\x0b \x03(\x0b\x32,.spotify.playlist4.proto.FormatListAttribute\x12\x0f\n\x07item_id\x18\x0c \x01(\x0c"l\n\x03\x41\x64\x64\x12\x12\n\nfrom_index\x18\x01 \x01(\x05\x12,\n\x05items\x18\x02 \x03(\x0b\x32\x1d.spotify.playlist4.proto.Item\x12\x10\n\x08\x61\x64\x64_last\x18\x04 \x01(\x08\x12\x11\n\tadd_first\x18\x05 \x01(\x08"m\n\x03Rem\x12\x12\n\nfrom_index\x18\x01 \x01(\x05\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12,\n\x05items\x18\x03 \x03(\x0b\x32\x1d.spotify.playlist4.proto.Item\x12\x14\n\x0citems_as_key\x18\x07 \x01(\x08";\n\x03Mov\x12\x12\n\nfrom_index\x18\x01 \x02(\x05\x12\x0e\n\x06length\x18\x02 \x02(\x05\x12\x10\n\x08to_index\x18\x03 \x02(\x05"\x93\x01\n\x1aItemAttributesPartialState\x12\x37\n\x06values\x18\x01 \x02(\x0b\x32\'.spotify.playlist4.proto.ItemAttributes\x12<\n\x08no_value\x18\x02 \x03(\x0e\x32*.spotify.playlist4.proto.ItemAttributeKind"\x93\x01\n\x1aListAttributesPartialState\x12\x37\n\x06values\x18\x01 \x02(\x0b\x32\'.spotify.playlist4.proto.ListAttributes\x12<\n\x08no_value\x18\x02 \x03(\x0e\x32*.spotify.playlist4.proto.ListAttributeKind"\xbf\x01\n\x14UpdateItemAttributes\x12\r\n\x05index\x18\x01 \x02(\x05\x12K\n\x0enew_attributes\x18\x02 \x02(\x0b\x32\x33.spotify.playlist4.proto.ItemAttributesPartialState\x12K\n\x0eold_attributes\x18\x03 \x01(\x0b\x32\x33.spotify.playlist4.proto.ItemAttributesPartialState"\xb0\x01\n\x14UpdateListAttributes\x12K\n\x0enew_attributes\x18\x01 \x02(\x0b\x32\x33.spotify.playlist4.proto.ListAttributesPartialState\x12K\n\x0eold_attributes\x18\x02 \x01(\x0b\x32\x33.spotify.playlist4.proto.ListAttributesPartialState"\xc0\x03\n\x02Op\x12.\n\x04kind\x18\x01 \x02(\x0e\x32 .spotify.playlist4.proto.Op.Kind\x12)\n\x03\x61\x64\x64\x18\x02 \x01(\x0b\x32\x1c.spotify.playlist4.proto.Add\x12)\n\x03rem\x18\x03 \x01(\x0b\x32\x1c.spotify.playlist4.proto.Rem\x12)\n\x03mov\x18\x04 \x01(\x0b\x32\x1c.spotify.playlist4.proto.Mov\x12M\n\x16update_item_attributes\x18\x05 \x01(\x0b\x32-.spotify.playlist4.proto.UpdateItemAttributes\x12M\n\x16update_list_attributes\x18\x06 \x01(\x0b\x32-.spotify.playlist4.proto.UpdateListAttributes"k\n\x04Kind\x12\x10\n\x0cKIND_UNKNOWN\x10\x00\x12\x07\n\x03\x41\x44\x44\x10\x02\x12\x07\n\x03REM\x10\x03\x12\x07\n\x03MOV\x10\x04\x12\x1a\n\x16UPDATE_ITEM_ATTRIBUTES\x10\x05\x12\x1a\n\x16UPDATE_LIST_ATTRIBUTES\x10\x06"2\n\x06OpList\x12(\n\x03ops\x18\x01 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op"\xd5\x01\n\nChangeInfo\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05\x61\x64min\x18\x03 \x01(\x08\x12\x0c\n\x04undo\x18\x04 \x01(\x08\x12\x0c\n\x04redo\x18\x05 \x01(\x08\x12\r\n\x05merge\x18\x06 \x01(\x08\x12\x12\n\ncompressed\x18\x07 \x01(\x08\x12\x11\n\tmigration\x18\x08 \x01(\x08\x12\x10\n\x08split_id\x18\t \x01(\x05\x12\x33\n\x06source\x18\n \x01(\x0b\x32#.spotify.playlist4.proto.SourceInfo"\xe8\x01\n\nSourceInfo\x12:\n\x06\x63lient\x18\x01 \x01(\x0e\x32*.spotify.playlist4.proto.SourceInfo.Client\x12\x0b\n\x03\x61pp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t"p\n\x06\x43lient\x12\x12\n\x0e\x43LIENT_UNKNOWN\x10\x00\x12\x11\n\rNATIVE_HERMES\x10\x01\x12\n\n\x06\x43LIENT\x10\x02\x12\n\n\x06PYTHON\x10\x03\x12\x08\n\x04JAVA\x10\x04\x12\r\n\tWEBPLAYER\x10\x05\x12\x0e\n\nLIBSPOTIFY\x10\x06"z\n\x05\x44\x65lta\x12\x14\n\x0c\x62\x61se_version\x18\x01 \x01(\x0c\x12(\n\x03ops\x18\x02 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op\x12\x31\n\x04info\x18\x04 \x01(\x0b\x32#.spotify.playlist4.proto.ChangeInfo"\\\n\x04\x44iff\x12\x15\n\rfrom_revision\x18\x01 \x02(\x0c\x12(\n\x03ops\x18\x02 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op\x12\x13\n\x0bto_revision\x18\x03 \x02(\x0c"\xa0\x01\n\x0bListChanges\x12\x15\n\rbase_revision\x18\x01 \x01(\x0c\x12.\n\x06\x64\x65ltas\x18\x02 \x03(\x0b\x32\x1e.spotify.playlist4.proto.Delta\x12 \n\x18want_resulting_revisions\x18\x03 \x01(\x08\x12\x18\n\x10want_sync_result\x18\x04 \x01(\x08\x12\x0e\n\x06nonces\x18\x06 \x03(\x03"\x8f\x03\n\x13SelectedListContent\x12\x10\n\x08revision\x18\x01 \x01(\x0c\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12;\n\nattributes\x18\x03 \x01(\x0b\x32\'.spotify.playlist4.proto.ListAttributes\x12\x34\n\x08\x63ontents\x18\x05 \x01(\x0b\x32".spotify.playlist4.proto.ListItems\x12+\n\x04\x64iff\x18\x06 \x01(\x0b\x32\x1d.spotify.playlist4.proto.Diff\x12\x32\n\x0bsync_result\x18\x07 \x01(\x0b\x32\x1d.spotify.playlist4.proto.Diff\x12\x1b\n\x13resulting_revisions\x18\x08 \x03(\x0c\x12\x16\n\x0emultiple_heads\x18\t \x01(\x08\x12\x12\n\nup_to_date\x18\n \x01(\x08\x12\x0e\n\x06nonces\x18\x0e \x03(\x03\x12\x11\n\ttimestamp\x18\x0f \x01(\x03\x12\x16\n\x0eowner_username\x18\x10 \x01(\t"0\n\x0f\x43reateListReply\x12\x0b\n\x03uri\x18\x01 \x02(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x0c",\n\x0bModifyReply\x12\x0b\n\x03uri\x18\x01 \x02(\x0c\x12\x10\n\x08revision\x18\x02 \x01(\x0c" \n\x10SubscribeRequest\x12\x0c\n\x04uris\x18\x01 \x03(\x0c""\n\x12UnsubscribeRequest\x12\x0c\n\x04uris\x18\x01 \x03(\x0c"\x80\x01\n\x18PlaylistModificationInfo\x12\x0b\n\x03uri\x18\x01 \x01(\x0c\x12\x14\n\x0cnew_revision\x18\x02 \x01(\x0c\x12\x17\n\x0fparent_revision\x18\x03 \x01(\x0c\x12(\n\x03ops\x18\x04 \x03(\x0b\x32\x1b.spotify.playlist4.proto.Op*\xe6\x01\n\x11ListAttributeKind\x12\x10\n\x0cLIST_UNKNOWN\x10\x00\x12\r\n\tLIST_NAME\x10\x01\x12\x14\n\x10LIST_DESCRIPTION\x10\x02\x12\x10\n\x0cLIST_PICTURE\x10\x03\x12\x16\n\x12LIST_COLLABORATIVE\x10\x04\x12\x14\n\x10LIST_PL3_VERSION\x10\x05\x12\x19\n\x15LIST_DELETED_BY_OWNER\x10\x06\x12\x12\n\x0eLIST_CLIENT_ID\x10\n\x12\x0f\n\x0bLIST_FORMAT\x10\x0b\x12\x1a\n\x16LIST_FORMAT_ATTRIBUTES\x10\x0c*\x98\x01\n\x11ItemAttributeKind\x12\x10\n\x0cITEM_UNKNOWN\x10\x00\x12\x11\n\rITEM_ADDED_BY\x10\x01\x12\x12\n\x0eITEM_TIMESTAMP\x10\x02\x12\x10\n\x0cITEM_SEEN_AT\x10\t\x12\x0f\n\x0bITEM_PUBLIC\x10\n\x12\x1a\n\x16ITEM_FORMAT_ATTRIBUTES\x10\x0b\x12\x0b\n\x07ITEM_ID\x10\x0c\x42,\n\x15\x63om.spotify.playlist4B\x11Playlist4ApiProtoH\x02', ) _LISTATTRIBUTEKIND = _descriptor.EnumDescriptor( - name='ListAttributeKind', - full_name='spotify.playlist4.proto.ListAttributeKind', + name="ListAttributeKind", + full_name="spotify.playlist4.proto.ListAttributeKind", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='LIST_UNKNOWN', + name="LIST_UNKNOWN", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_NAME', + name="LIST_NAME", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_DESCRIPTION', + name="LIST_DESCRIPTION", index=2, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_PICTURE', + name="LIST_PICTURE", index=3, number=3, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_COLLABORATIVE', + name="LIST_COLLABORATIVE", index=4, number=4, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_PL3_VERSION', + name="LIST_PL3_VERSION", index=5, number=5, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_DELETED_BY_OWNER', + name="LIST_DELETED_BY_OWNER", index=6, number=6, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_CLIENT_ID', + name="LIST_CLIENT_ID", index=7, number=10, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_FORMAT', + name="LIST_FORMAT", index=8, number=11, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIST_FORMAT_ATTRIBUTES', + name="LIST_FORMAT_ATTRIBUTES", index=9, number=12, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -109,61 +120,68 @@ _sym_db.RegisterEnumDescriptor(_LISTATTRIBUTEKIND) ListAttributeKind = enum_type_wrapper.EnumTypeWrapper(_LISTATTRIBUTEKIND) _ITEMATTRIBUTEKIND = _descriptor.EnumDescriptor( - name='ItemAttributeKind', - full_name='spotify.playlist4.proto.ItemAttributeKind', + name="ItemAttributeKind", + full_name="spotify.playlist4.proto.ItemAttributeKind", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='ITEM_UNKNOWN', + name="ITEM_UNKNOWN", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='ITEM_ADDED_BY', + name="ITEM_ADDED_BY", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='ITEM_TIMESTAMP', + name="ITEM_TIMESTAMP", index=2, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='ITEM_SEEN_AT', + name="ITEM_SEEN_AT", index=3, number=9, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='ITEM_PUBLIC', + name="ITEM_PUBLIC", index=4, number=10, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='ITEM_FORMAT_ATTRIBUTES', + name="ITEM_FORMAT_ATTRIBUTES", index=5, number=11, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='ITEM_ID', + name="ITEM_ID", index=6, number=12, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -192,54 +210,60 @@ ITEM_FORMAT_ATTRIBUTES = 11 ITEM_ID = 12 _OP_KIND = _descriptor.EnumDescriptor( - name='Kind', - full_name='spotify.playlist4.proto.Op.Kind', + name="Kind", + full_name="spotify.playlist4.proto.Op.Kind", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='KIND_UNKNOWN', + name="KIND_UNKNOWN", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='ADD', + name="ADD", index=1, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='REM', + name="REM", index=2, number=3, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='MOV', + name="MOV", index=3, number=4, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='UPDATE_ITEM_ATTRIBUTES', + name="UPDATE_ITEM_ATTRIBUTES", index=4, number=5, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='UPDATE_LIST_ATTRIBUTES', + name="UPDATE_LIST_ATTRIBUTES", index=5, number=6, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -249,61 +273,68 @@ _OP_KIND = _descriptor.EnumDescriptor( _sym_db.RegisterEnumDescriptor(_OP_KIND) _SOURCEINFO_CLIENT = _descriptor.EnumDescriptor( - name='Client', - full_name='spotify.playlist4.proto.SourceInfo.Client', + name="Client", + full_name="spotify.playlist4.proto.SourceInfo.Client", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='CLIENT_UNKNOWN', + name="CLIENT_UNKNOWN", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='NATIVE_HERMES', + name="NATIVE_HERMES", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='CLIENT', + name="CLIENT", index=2, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='PYTHON', + name="PYTHON", index=3, number=3, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='JAVA', + name="JAVA", index=4, number=4, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='WEBPLAYER', + name="WEBPLAYER", index=5, number=5, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='LIBSPOTIFY', + name="LIBSPOTIFY", index=6, number=6, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -313,23 +344,23 @@ _SOURCEINFO_CLIENT = _descriptor.EnumDescriptor( _sym_db.RegisterEnumDescriptor(_SOURCEINFO_CLIENT) _ITEM = _descriptor.Descriptor( - name='Item', - full_name='spotify.playlist4.proto.Item', + name="Item", + full_name="spotify.playlist4.proto.Item", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uri', - full_name='spotify.playlist4.proto.Item.uri', + name="uri", + full_name="spotify.playlist4.proto.Item.uri", index=0, number=1, type=9, cpp_type=9, label=2, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -337,10 +368,11 @@ _ITEM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='attributes', - full_name='spotify.playlist4.proto.Item.attributes', + name="attributes", + full_name="spotify.playlist4.proto.Item.attributes", index=1, number=2, type=11, @@ -355,14 +387,15 @@ _ITEM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=53, @@ -370,16 +403,16 @@ _ITEM = _descriptor.Descriptor( ) _METAITEM = _descriptor.Descriptor( - name='MetaItem', - full_name='spotify.playlist4.proto.MetaItem', + name="MetaItem", + full_name="spotify.playlist4.proto.MetaItem", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='revision', - full_name='spotify.playlist4.proto.MetaItem.revision', + name="revision", + full_name="spotify.playlist4.proto.MetaItem.revision", index=0, number=1, type=12, @@ -394,10 +427,11 @@ _METAITEM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='attributes', - full_name='spotify.playlist4.proto.MetaItem.attributes', + name="attributes", + full_name="spotify.playlist4.proto.MetaItem.attributes", index=1, number=2, type=11, @@ -412,10 +446,11 @@ _METAITEM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='length', - full_name='spotify.playlist4.proto.MetaItem.length', + name="length", + full_name="spotify.playlist4.proto.MetaItem.length", index=2, number=3, type=5, @@ -430,10 +465,11 @@ _METAITEM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='timestamp', - full_name='spotify.playlist4.proto.MetaItem.timestamp', + name="timestamp", + full_name="spotify.playlist4.proto.MetaItem.timestamp", index=3, number=4, type=3, @@ -448,17 +484,18 @@ _METAITEM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='owner_username', - full_name='spotify.playlist4.proto.MetaItem.owner_username', + name="owner_username", + full_name="spotify.playlist4.proto.MetaItem.owner_username", index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -466,14 +503,15 @@ _METAITEM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=136, @@ -481,16 +519,16 @@ _METAITEM = _descriptor.Descriptor( ) _LISTITEMS = _descriptor.Descriptor( - name='ListItems', - full_name='spotify.playlist4.proto.ListItems', + name="ListItems", + full_name="spotify.playlist4.proto.ListItems", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='pos', - full_name='spotify.playlist4.proto.ListItems.pos', + name="pos", + full_name="spotify.playlist4.proto.ListItems.pos", index=0, number=1, type=5, @@ -505,10 +543,11 @@ _LISTITEMS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='truncated', - full_name='spotify.playlist4.proto.ListItems.truncated', + name="truncated", + full_name="spotify.playlist4.proto.ListItems.truncated", index=1, number=2, type=8, @@ -523,10 +562,11 @@ _LISTITEMS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='items', - full_name='spotify.playlist4.proto.ListItems.items', + name="items", + full_name="spotify.playlist4.proto.ListItems.items", index=2, number=3, type=11, @@ -541,10 +581,11 @@ _LISTITEMS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='meta_items', - full_name='spotify.playlist4.proto.ListItems.meta_items', + name="meta_items", + full_name="spotify.playlist4.proto.ListItems.meta_items", index=3, number=4, type=11, @@ -559,14 +600,15 @@ _LISTITEMS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=287, @@ -574,23 +616,23 @@ _LISTITEMS = _descriptor.Descriptor( ) _FORMATLISTATTRIBUTE = _descriptor.Descriptor( - name='FormatListAttribute', - full_name='spotify.playlist4.proto.FormatListAttribute', + name="FormatListAttribute", + full_name="spotify.playlist4.proto.FormatListAttribute", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='key', - full_name='spotify.playlist4.proto.FormatListAttribute.key', + name="key", + full_name="spotify.playlist4.proto.FormatListAttribute.key", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -598,17 +640,18 @@ _FORMATLISTATTRIBUTE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='value', - full_name='spotify.playlist4.proto.FormatListAttribute.value', + name="value", + full_name="spotify.playlist4.proto.FormatListAttribute.value", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -616,14 +659,15 @@ _FORMATLISTATTRIBUTE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=433, @@ -631,23 +675,23 @@ _FORMATLISTATTRIBUTE = _descriptor.Descriptor( ) _LISTATTRIBUTES = _descriptor.Descriptor( - name='ListAttributes', - full_name='spotify.playlist4.proto.ListAttributes', + name="ListAttributes", + full_name="spotify.playlist4.proto.ListAttributes", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='name', - full_name='spotify.playlist4.proto.ListAttributes.name', + name="name", + full_name="spotify.playlist4.proto.ListAttributes.name", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -655,17 +699,18 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='description', - full_name='spotify.playlist4.proto.ListAttributes.description', + name="description", + full_name="spotify.playlist4.proto.ListAttributes.description", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -673,10 +718,11 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='picture', - full_name='spotify.playlist4.proto.ListAttributes.picture', + name="picture", + full_name="spotify.playlist4.proto.ListAttributes.picture", index=2, number=3, type=12, @@ -691,10 +737,11 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='collaborative', - full_name='spotify.playlist4.proto.ListAttributes.collaborative', + name="collaborative", + full_name="spotify.playlist4.proto.ListAttributes.collaborative", index=3, number=4, type=8, @@ -709,17 +756,18 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='pl3_version', - full_name='spotify.playlist4.proto.ListAttributes.pl3_version', + name="pl3_version", + full_name="spotify.playlist4.proto.ListAttributes.pl3_version", index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -727,10 +775,11 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='deleted_by_owner', - full_name='spotify.playlist4.proto.ListAttributes.deleted_by_owner', + name="deleted_by_owner", + full_name="spotify.playlist4.proto.ListAttributes.deleted_by_owner", index=5, number=6, type=8, @@ -745,17 +794,18 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='client_id', - full_name='spotify.playlist4.proto.ListAttributes.client_id', + name="client_id", + full_name="spotify.playlist4.proto.ListAttributes.client_id", index=6, number=10, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -763,17 +813,18 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='format', - full_name='spotify.playlist4.proto.ListAttributes.format', + name="format", + full_name="spotify.playlist4.proto.ListAttributes.format", index=7, number=11, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -781,11 +832,12 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='format_attributes', + name="format_attributes", full_name= - 'spotify.playlist4.proto.ListAttributes.format_attributes', + "spotify.playlist4.proto.ListAttributes.format_attributes", index=8, number=12, type=11, @@ -800,14 +852,15 @@ _LISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=485, @@ -815,23 +868,23 @@ _LISTATTRIBUTES = _descriptor.Descriptor( ) _ITEMATTRIBUTES = _descriptor.Descriptor( - name='ItemAttributes', - full_name='spotify.playlist4.proto.ItemAttributes', + name="ItemAttributes", + full_name="spotify.playlist4.proto.ItemAttributes", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='added_by', - full_name='spotify.playlist4.proto.ItemAttributes.added_by', + name="added_by", + full_name="spotify.playlist4.proto.ItemAttributes.added_by", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -839,10 +892,11 @@ _ITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='timestamp', - full_name='spotify.playlist4.proto.ItemAttributes.timestamp', + name="timestamp", + full_name="spotify.playlist4.proto.ItemAttributes.timestamp", index=1, number=2, type=3, @@ -857,10 +911,11 @@ _ITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='seen_at', - full_name='spotify.playlist4.proto.ItemAttributes.seen_at', + name="seen_at", + full_name="spotify.playlist4.proto.ItemAttributes.seen_at", index=2, number=9, type=3, @@ -875,10 +930,11 @@ _ITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='public', - full_name='spotify.playlist4.proto.ItemAttributes.public', + name="public", + full_name="spotify.playlist4.proto.ItemAttributes.public", index=3, number=10, type=8, @@ -893,11 +949,12 @@ _ITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='format_attributes', + name="format_attributes", full_name= - 'spotify.playlist4.proto.ItemAttributes.format_attributes', + "spotify.playlist4.proto.ItemAttributes.format_attributes", index=4, number=11, type=11, @@ -912,10 +969,11 @@ _ITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='item_id', - full_name='spotify.playlist4.proto.ItemAttributes.item_id', + name="item_id", + full_name="spotify.playlist4.proto.ItemAttributes.item_id", index=5, number=12, type=12, @@ -930,14 +988,15 @@ _ITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=734, @@ -945,16 +1004,16 @@ _ITEMATTRIBUTES = _descriptor.Descriptor( ) _ADD = _descriptor.Descriptor( - name='Add', - full_name='spotify.playlist4.proto.Add', + name="Add", + full_name="spotify.playlist4.proto.Add", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='from_index', - full_name='spotify.playlist4.proto.Add.from_index', + name="from_index", + full_name="spotify.playlist4.proto.Add.from_index", index=0, number=1, type=5, @@ -969,10 +1028,11 @@ _ADD = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='items', - full_name='spotify.playlist4.proto.Add.items', + name="items", + full_name="spotify.playlist4.proto.Add.items", index=1, number=2, type=11, @@ -987,10 +1047,11 @@ _ADD = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='add_last', - full_name='spotify.playlist4.proto.Add.add_last', + name="add_last", + full_name="spotify.playlist4.proto.Add.add_last", index=2, number=4, type=8, @@ -1005,10 +1066,11 @@ _ADD = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='add_first', - full_name='spotify.playlist4.proto.Add.add_first', + name="add_first", + full_name="spotify.playlist4.proto.Add.add_first", index=3, number=5, type=8, @@ -1023,14 +1085,15 @@ _ADD = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=912, @@ -1038,16 +1101,16 @@ _ADD = _descriptor.Descriptor( ) _REM = _descriptor.Descriptor( - name='Rem', - full_name='spotify.playlist4.proto.Rem', + name="Rem", + full_name="spotify.playlist4.proto.Rem", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='from_index', - full_name='spotify.playlist4.proto.Rem.from_index', + name="from_index", + full_name="spotify.playlist4.proto.Rem.from_index", index=0, number=1, type=5, @@ -1062,10 +1125,11 @@ _REM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='length', - full_name='spotify.playlist4.proto.Rem.length', + name="length", + full_name="spotify.playlist4.proto.Rem.length", index=1, number=2, type=5, @@ -1080,10 +1144,11 @@ _REM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='items', - full_name='spotify.playlist4.proto.Rem.items', + name="items", + full_name="spotify.playlist4.proto.Rem.items", index=2, number=3, type=11, @@ -1098,10 +1163,11 @@ _REM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='items_as_key', - full_name='spotify.playlist4.proto.Rem.items_as_key', + name="items_as_key", + full_name="spotify.playlist4.proto.Rem.items_as_key", index=3, number=7, type=8, @@ -1116,14 +1182,15 @@ _REM = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=1022, @@ -1131,16 +1198,16 @@ _REM = _descriptor.Descriptor( ) _MOV = _descriptor.Descriptor( - name='Mov', - full_name='spotify.playlist4.proto.Mov', + name="Mov", + full_name="spotify.playlist4.proto.Mov", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='from_index', - full_name='spotify.playlist4.proto.Mov.from_index', + name="from_index", + full_name="spotify.playlist4.proto.Mov.from_index", index=0, number=1, type=5, @@ -1155,10 +1222,11 @@ _MOV = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='length', - full_name='spotify.playlist4.proto.Mov.length', + name="length", + full_name="spotify.playlist4.proto.Mov.length", index=1, number=2, type=5, @@ -1173,10 +1241,11 @@ _MOV = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='to_index', - full_name='spotify.playlist4.proto.Mov.to_index', + name="to_index", + full_name="spotify.playlist4.proto.Mov.to_index", index=2, number=3, type=5, @@ -1191,14 +1260,15 @@ _MOV = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=1133, @@ -1206,17 +1276,17 @@ _MOV = _descriptor.Descriptor( ) _ITEMATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( - name='ItemAttributesPartialState', - full_name='spotify.playlist4.proto.ItemAttributesPartialState', + name="ItemAttributesPartialState", + full_name="spotify.playlist4.proto.ItemAttributesPartialState", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='values', + name="values", full_name= - 'spotify.playlist4.proto.ItemAttributesPartialState.values', + "spotify.playlist4.proto.ItemAttributesPartialState.values", index=0, number=1, type=11, @@ -1231,11 +1301,12 @@ _ITEMATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='no_value', + name="no_value", full_name= - 'spotify.playlist4.proto.ItemAttributesPartialState.no_value', + "spotify.playlist4.proto.ItemAttributesPartialState.no_value", index=1, number=2, type=14, @@ -1250,14 +1321,15 @@ _ITEMATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=1195, @@ -1265,17 +1337,17 @@ _ITEMATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( ) _LISTATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( - name='ListAttributesPartialState', - full_name='spotify.playlist4.proto.ListAttributesPartialState', + name="ListAttributesPartialState", + full_name="spotify.playlist4.proto.ListAttributesPartialState", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='values', + name="values", full_name= - 'spotify.playlist4.proto.ListAttributesPartialState.values', + "spotify.playlist4.proto.ListAttributesPartialState.values", index=0, number=1, type=11, @@ -1290,11 +1362,12 @@ _LISTATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='no_value', + name="no_value", full_name= - 'spotify.playlist4.proto.ListAttributesPartialState.no_value', + "spotify.playlist4.proto.ListAttributesPartialState.no_value", index=1, number=2, type=14, @@ -1309,14 +1382,15 @@ _LISTATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=1345, @@ -1324,16 +1398,16 @@ _LISTATTRIBUTESPARTIALSTATE = _descriptor.Descriptor( ) _UPDATEITEMATTRIBUTES = _descriptor.Descriptor( - name='UpdateItemAttributes', - full_name='spotify.playlist4.proto.UpdateItemAttributes', + name="UpdateItemAttributes", + full_name="spotify.playlist4.proto.UpdateItemAttributes", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='index', - full_name='spotify.playlist4.proto.UpdateItemAttributes.index', + name="index", + full_name="spotify.playlist4.proto.UpdateItemAttributes.index", index=0, number=1, type=5, @@ -1348,11 +1422,12 @@ _UPDATEITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='new_attributes', + name="new_attributes", full_name= - 'spotify.playlist4.proto.UpdateItemAttributes.new_attributes', + "spotify.playlist4.proto.UpdateItemAttributes.new_attributes", index=1, number=2, type=11, @@ -1367,11 +1442,12 @@ _UPDATEITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='old_attributes', + name="old_attributes", full_name= - 'spotify.playlist4.proto.UpdateItemAttributes.old_attributes', + "spotify.playlist4.proto.UpdateItemAttributes.old_attributes", index=2, number=3, type=11, @@ -1386,14 +1462,15 @@ _UPDATEITEMATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=1495, @@ -1401,17 +1478,17 @@ _UPDATEITEMATTRIBUTES = _descriptor.Descriptor( ) _UPDATELISTATTRIBUTES = _descriptor.Descriptor( - name='UpdateListAttributes', - full_name='spotify.playlist4.proto.UpdateListAttributes', + name="UpdateListAttributes", + full_name="spotify.playlist4.proto.UpdateListAttributes", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='new_attributes', + name="new_attributes", full_name= - 'spotify.playlist4.proto.UpdateListAttributes.new_attributes', + "spotify.playlist4.proto.UpdateListAttributes.new_attributes", index=0, number=1, type=11, @@ -1426,11 +1503,12 @@ _UPDATELISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='old_attributes', + name="old_attributes", full_name= - 'spotify.playlist4.proto.UpdateListAttributes.old_attributes', + "spotify.playlist4.proto.UpdateListAttributes.old_attributes", index=1, number=2, type=11, @@ -1445,14 +1523,15 @@ _UPDATELISTATTRIBUTES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=1689, @@ -1460,16 +1539,16 @@ _UPDATELISTATTRIBUTES = _descriptor.Descriptor( ) _OP = _descriptor.Descriptor( - name='Op', - full_name='spotify.playlist4.proto.Op', + name="Op", + full_name="spotify.playlist4.proto.Op", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='kind', - full_name='spotify.playlist4.proto.Op.kind', + name="kind", + full_name="spotify.playlist4.proto.Op.kind", index=0, number=1, type=14, @@ -1484,10 +1563,11 @@ _OP = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='add', - full_name='spotify.playlist4.proto.Op.add', + name="add", + full_name="spotify.playlist4.proto.Op.add", index=1, number=2, type=11, @@ -1502,10 +1582,11 @@ _OP = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='rem', - full_name='spotify.playlist4.proto.Op.rem', + name="rem", + full_name="spotify.playlist4.proto.Op.rem", index=2, number=3, type=11, @@ -1520,10 +1601,11 @@ _OP = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='mov', - full_name='spotify.playlist4.proto.Op.mov', + name="mov", + full_name="spotify.playlist4.proto.Op.mov", index=3, number=4, type=11, @@ -1538,10 +1620,11 @@ _OP = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='update_item_attributes', - full_name='spotify.playlist4.proto.Op.update_item_attributes', + name="update_item_attributes", + full_name="spotify.playlist4.proto.Op.update_item_attributes", index=4, number=5, type=11, @@ -1556,10 +1639,11 @@ _OP = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='update_list_attributes', - full_name='spotify.playlist4.proto.Op.update_list_attributes', + name="update_list_attributes", + full_name="spotify.playlist4.proto.Op.update_list_attributes", index=5, number=6, type=11, @@ -1574,7 +1658,8 @@ _OP = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], @@ -1583,7 +1668,7 @@ _OP = _descriptor.Descriptor( ], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=1868, @@ -1591,16 +1676,16 @@ _OP = _descriptor.Descriptor( ) _OPLIST = _descriptor.Descriptor( - name='OpList', - full_name='spotify.playlist4.proto.OpList', + name="OpList", + full_name="spotify.playlist4.proto.OpList", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='ops', - full_name='spotify.playlist4.proto.OpList.ops', + name="ops", + full_name="spotify.playlist4.proto.OpList.ops", index=0, number=1, type=11, @@ -1615,14 +1700,15 @@ _OPLIST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=2318, @@ -1630,23 +1716,23 @@ _OPLIST = _descriptor.Descriptor( ) _CHANGEINFO = _descriptor.Descriptor( - name='ChangeInfo', - full_name='spotify.playlist4.proto.ChangeInfo', + name="ChangeInfo", + full_name="spotify.playlist4.proto.ChangeInfo", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='user', - full_name='spotify.playlist4.proto.ChangeInfo.user', + name="user", + full_name="spotify.playlist4.proto.ChangeInfo.user", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -1654,10 +1740,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='timestamp', - full_name='spotify.playlist4.proto.ChangeInfo.timestamp', + name="timestamp", + full_name="spotify.playlist4.proto.ChangeInfo.timestamp", index=1, number=2, type=3, @@ -1672,10 +1759,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='admin', - full_name='spotify.playlist4.proto.ChangeInfo.admin', + name="admin", + full_name="spotify.playlist4.proto.ChangeInfo.admin", index=2, number=3, type=8, @@ -1690,10 +1778,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='undo', - full_name='spotify.playlist4.proto.ChangeInfo.undo', + name="undo", + full_name="spotify.playlist4.proto.ChangeInfo.undo", index=3, number=4, type=8, @@ -1708,10 +1797,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='redo', - full_name='spotify.playlist4.proto.ChangeInfo.redo', + name="redo", + full_name="spotify.playlist4.proto.ChangeInfo.redo", index=4, number=5, type=8, @@ -1726,10 +1816,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='merge', - full_name='spotify.playlist4.proto.ChangeInfo.merge', + name="merge", + full_name="spotify.playlist4.proto.ChangeInfo.merge", index=5, number=6, type=8, @@ -1744,10 +1835,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='compressed', - full_name='spotify.playlist4.proto.ChangeInfo.compressed', + name="compressed", + full_name="spotify.playlist4.proto.ChangeInfo.compressed", index=6, number=7, type=8, @@ -1762,10 +1854,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='migration', - full_name='spotify.playlist4.proto.ChangeInfo.migration', + name="migration", + full_name="spotify.playlist4.proto.ChangeInfo.migration", index=7, number=8, type=8, @@ -1780,10 +1873,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='split_id', - full_name='spotify.playlist4.proto.ChangeInfo.split_id', + name="split_id", + full_name="spotify.playlist4.proto.ChangeInfo.split_id", index=8, number=9, type=5, @@ -1798,10 +1892,11 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='source', - full_name='spotify.playlist4.proto.ChangeInfo.source', + name="source", + full_name="spotify.playlist4.proto.ChangeInfo.source", index=9, number=10, type=11, @@ -1816,14 +1911,15 @@ _CHANGEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=2371, @@ -1831,16 +1927,16 @@ _CHANGEINFO = _descriptor.Descriptor( ) _SOURCEINFO = _descriptor.Descriptor( - name='SourceInfo', - full_name='spotify.playlist4.proto.SourceInfo', + name="SourceInfo", + full_name="spotify.playlist4.proto.SourceInfo", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='client', - full_name='spotify.playlist4.proto.SourceInfo.client', + name="client", + full_name="spotify.playlist4.proto.SourceInfo.client", index=0, number=1, type=14, @@ -1855,17 +1951,18 @@ _SOURCEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='app', - full_name='spotify.playlist4.proto.SourceInfo.app', + name="app", + full_name="spotify.playlist4.proto.SourceInfo.app", index=1, number=3, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -1873,17 +1970,18 @@ _SOURCEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='source', - full_name='spotify.playlist4.proto.SourceInfo.source', + name="source", + full_name="spotify.playlist4.proto.SourceInfo.source", index=2, number=4, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -1891,17 +1989,18 @@ _SOURCEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='version', - full_name='spotify.playlist4.proto.SourceInfo.version', + name="version", + full_name="spotify.playlist4.proto.SourceInfo.version", index=3, number=5, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -1909,7 +2008,8 @@ _SOURCEINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], @@ -1918,7 +2018,7 @@ _SOURCEINFO = _descriptor.Descriptor( ], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=2587, @@ -1926,16 +2026,16 @@ _SOURCEINFO = _descriptor.Descriptor( ) _DELTA = _descriptor.Descriptor( - name='Delta', - full_name='spotify.playlist4.proto.Delta', + name="Delta", + full_name="spotify.playlist4.proto.Delta", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='base_version', - full_name='spotify.playlist4.proto.Delta.base_version', + name="base_version", + full_name="spotify.playlist4.proto.Delta.base_version", index=0, number=1, type=12, @@ -1950,10 +2050,11 @@ _DELTA = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='ops', - full_name='spotify.playlist4.proto.Delta.ops', + name="ops", + full_name="spotify.playlist4.proto.Delta.ops", index=1, number=2, type=11, @@ -1968,10 +2069,11 @@ _DELTA = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='info', - full_name='spotify.playlist4.proto.Delta.info', + name="info", + full_name="spotify.playlist4.proto.Delta.info", index=2, number=4, type=11, @@ -1986,14 +2088,15 @@ _DELTA = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=2821, @@ -2001,16 +2104,16 @@ _DELTA = _descriptor.Descriptor( ) _DIFF = _descriptor.Descriptor( - name='Diff', - full_name='spotify.playlist4.proto.Diff', + name="Diff", + full_name="spotify.playlist4.proto.Diff", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='from_revision', - full_name='spotify.playlist4.proto.Diff.from_revision', + name="from_revision", + full_name="spotify.playlist4.proto.Diff.from_revision", index=0, number=1, type=12, @@ -2025,10 +2128,11 @@ _DIFF = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='ops', - full_name='spotify.playlist4.proto.Diff.ops', + name="ops", + full_name="spotify.playlist4.proto.Diff.ops", index=1, number=2, type=11, @@ -2043,10 +2147,11 @@ _DIFF = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='to_revision', - full_name='spotify.playlist4.proto.Diff.to_revision', + name="to_revision", + full_name="spotify.playlist4.proto.Diff.to_revision", index=2, number=3, type=12, @@ -2061,14 +2166,15 @@ _DIFF = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=2945, @@ -2076,16 +2182,16 @@ _DIFF = _descriptor.Descriptor( ) _LISTCHANGES = _descriptor.Descriptor( - name='ListChanges', - full_name='spotify.playlist4.proto.ListChanges', + name="ListChanges", + full_name="spotify.playlist4.proto.ListChanges", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='base_revision', - full_name='spotify.playlist4.proto.ListChanges.base_revision', + name="base_revision", + full_name="spotify.playlist4.proto.ListChanges.base_revision", index=0, number=1, type=12, @@ -2100,10 +2206,11 @@ _LISTCHANGES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='deltas', - full_name='spotify.playlist4.proto.ListChanges.deltas', + name="deltas", + full_name="spotify.playlist4.proto.ListChanges.deltas", index=1, number=2, type=11, @@ -2118,11 +2225,12 @@ _LISTCHANGES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='want_resulting_revisions', + name="want_resulting_revisions", full_name= - 'spotify.playlist4.proto.ListChanges.want_resulting_revisions', + "spotify.playlist4.proto.ListChanges.want_resulting_revisions", index=2, number=3, type=8, @@ -2137,10 +2245,11 @@ _LISTCHANGES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='want_sync_result', - full_name='spotify.playlist4.proto.ListChanges.want_sync_result', + name="want_sync_result", + full_name="spotify.playlist4.proto.ListChanges.want_sync_result", index=3, number=4, type=8, @@ -2155,10 +2264,11 @@ _LISTCHANGES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='nonces', - full_name='spotify.playlist4.proto.ListChanges.nonces', + name="nonces", + full_name="spotify.playlist4.proto.ListChanges.nonces", index=4, number=6, type=3, @@ -2173,14 +2283,15 @@ _LISTCHANGES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=3040, @@ -2188,16 +2299,16 @@ _LISTCHANGES = _descriptor.Descriptor( ) _SELECTEDLISTCONTENT = _descriptor.Descriptor( - name='SelectedListContent', - full_name='spotify.playlist4.proto.SelectedListContent', + name="SelectedListContent", + full_name="spotify.playlist4.proto.SelectedListContent", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='revision', - full_name='spotify.playlist4.proto.SelectedListContent.revision', + name="revision", + full_name="spotify.playlist4.proto.SelectedListContent.revision", index=0, number=1, type=12, @@ -2212,10 +2323,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='length', - full_name='spotify.playlist4.proto.SelectedListContent.length', + name="length", + full_name="spotify.playlist4.proto.SelectedListContent.length", index=1, number=2, type=5, @@ -2230,10 +2342,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='attributes', - full_name='spotify.playlist4.proto.SelectedListContent.attributes', + name="attributes", + full_name="spotify.playlist4.proto.SelectedListContent.attributes", index=2, number=3, type=11, @@ -2248,10 +2361,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='contents', - full_name='spotify.playlist4.proto.SelectedListContent.contents', + name="contents", + full_name="spotify.playlist4.proto.SelectedListContent.contents", index=3, number=5, type=11, @@ -2266,10 +2380,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='diff', - full_name='spotify.playlist4.proto.SelectedListContent.diff', + name="diff", + full_name="spotify.playlist4.proto.SelectedListContent.diff", index=4, number=6, type=11, @@ -2284,10 +2399,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='sync_result', - full_name='spotify.playlist4.proto.SelectedListContent.sync_result', + name="sync_result", + full_name="spotify.playlist4.proto.SelectedListContent.sync_result", index=5, number=7, type=11, @@ -2302,11 +2418,12 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='resulting_revisions', + name="resulting_revisions", full_name= - 'spotify.playlist4.proto.SelectedListContent.resulting_revisions', + "spotify.playlist4.proto.SelectedListContent.resulting_revisions", index=6, number=8, type=12, @@ -2321,11 +2438,12 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='multiple_heads', + name="multiple_heads", full_name= - 'spotify.playlist4.proto.SelectedListContent.multiple_heads', + "spotify.playlist4.proto.SelectedListContent.multiple_heads", index=7, number=9, type=8, @@ -2340,10 +2458,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='up_to_date', - full_name='spotify.playlist4.proto.SelectedListContent.up_to_date', + name="up_to_date", + full_name="spotify.playlist4.proto.SelectedListContent.up_to_date", index=8, number=10, type=8, @@ -2358,10 +2477,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='nonces', - full_name='spotify.playlist4.proto.SelectedListContent.nonces', + name="nonces", + full_name="spotify.playlist4.proto.SelectedListContent.nonces", index=9, number=14, type=3, @@ -2376,10 +2496,11 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='timestamp', - full_name='spotify.playlist4.proto.SelectedListContent.timestamp', + name="timestamp", + full_name="spotify.playlist4.proto.SelectedListContent.timestamp", index=10, number=15, type=3, @@ -2394,18 +2515,19 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='owner_username', + name="owner_username", full_name= - 'spotify.playlist4.proto.SelectedListContent.owner_username', + "spotify.playlist4.proto.SelectedListContent.owner_username", index=11, number=16, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -2413,14 +2535,15 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=3203, @@ -2428,16 +2551,16 @@ _SELECTEDLISTCONTENT = _descriptor.Descriptor( ) _CREATELISTREPLY = _descriptor.Descriptor( - name='CreateListReply', - full_name='spotify.playlist4.proto.CreateListReply', + name="CreateListReply", + full_name="spotify.playlist4.proto.CreateListReply", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uri', - full_name='spotify.playlist4.proto.CreateListReply.uri', + name="uri", + full_name="spotify.playlist4.proto.CreateListReply.uri", index=0, number=1, type=12, @@ -2452,10 +2575,11 @@ _CREATELISTREPLY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='revision', - full_name='spotify.playlist4.proto.CreateListReply.revision', + name="revision", + full_name="spotify.playlist4.proto.CreateListReply.revision", index=1, number=2, type=12, @@ -2470,14 +2594,15 @@ _CREATELISTREPLY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=3604, @@ -2485,16 +2610,16 @@ _CREATELISTREPLY = _descriptor.Descriptor( ) _MODIFYREPLY = _descriptor.Descriptor( - name='ModifyReply', - full_name='spotify.playlist4.proto.ModifyReply', + name="ModifyReply", + full_name="spotify.playlist4.proto.ModifyReply", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uri', - full_name='spotify.playlist4.proto.ModifyReply.uri', + name="uri", + full_name="spotify.playlist4.proto.ModifyReply.uri", index=0, number=1, type=12, @@ -2509,10 +2634,11 @@ _MODIFYREPLY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='revision', - full_name='spotify.playlist4.proto.ModifyReply.revision', + name="revision", + full_name="spotify.playlist4.proto.ModifyReply.revision", index=1, number=2, type=12, @@ -2527,14 +2653,15 @@ _MODIFYREPLY = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=3654, @@ -2542,16 +2669,16 @@ _MODIFYREPLY = _descriptor.Descriptor( ) _SUBSCRIBEREQUEST = _descriptor.Descriptor( - name='SubscribeRequest', - full_name='spotify.playlist4.proto.SubscribeRequest', + name="SubscribeRequest", + full_name="spotify.playlist4.proto.SubscribeRequest", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uris', - full_name='spotify.playlist4.proto.SubscribeRequest.uris', + name="uris", + full_name="spotify.playlist4.proto.SubscribeRequest.uris", index=0, number=1, type=12, @@ -2566,14 +2693,15 @@ _SUBSCRIBEREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=3700, @@ -2581,16 +2709,16 @@ _SUBSCRIBEREQUEST = _descriptor.Descriptor( ) _UNSUBSCRIBEREQUEST = _descriptor.Descriptor( - name='UnsubscribeRequest', - full_name='spotify.playlist4.proto.UnsubscribeRequest', + name="UnsubscribeRequest", + full_name="spotify.playlist4.proto.UnsubscribeRequest", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uris', - full_name='spotify.playlist4.proto.UnsubscribeRequest.uris', + name="uris", + full_name="spotify.playlist4.proto.UnsubscribeRequest.uris", index=0, number=1, type=12, @@ -2605,14 +2733,15 @@ _UNSUBSCRIBEREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=3734, @@ -2620,16 +2749,16 @@ _UNSUBSCRIBEREQUEST = _descriptor.Descriptor( ) _PLAYLISTMODIFICATIONINFO = _descriptor.Descriptor( - name='PlaylistModificationInfo', - full_name='spotify.playlist4.proto.PlaylistModificationInfo', + name="PlaylistModificationInfo", + full_name="spotify.playlist4.proto.PlaylistModificationInfo", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='uri', - full_name='spotify.playlist4.proto.PlaylistModificationInfo.uri', + name="uri", + full_name="spotify.playlist4.proto.PlaylistModificationInfo.uri", index=0, number=1, type=12, @@ -2644,11 +2773,12 @@ _PLAYLISTMODIFICATIONINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='new_revision', + name="new_revision", full_name= - 'spotify.playlist4.proto.PlaylistModificationInfo.new_revision', + "spotify.playlist4.proto.PlaylistModificationInfo.new_revision", index=1, number=2, type=12, @@ -2663,11 +2793,12 @@ _PLAYLISTMODIFICATIONINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='parent_revision', + name="parent_revision", full_name= - 'spotify.playlist4.proto.PlaylistModificationInfo.parent_revision', + "spotify.playlist4.proto.PlaylistModificationInfo.parent_revision", index=2, number=3, type=12, @@ -2682,10 +2813,11 @@ _PLAYLISTMODIFICATIONINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='ops', - full_name='spotify.playlist4.proto.PlaylistModificationInfo.ops', + name="ops", + full_name="spotify.playlist4.proto.PlaylistModificationInfo.ops", index=3, number=4, type=11, @@ -2700,362 +2832,389 @@ _PLAYLISTMODIFICATIONINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=3771, serialized_end=3899, ) -_ITEM.fields_by_name['attributes'].message_type = _ITEMATTRIBUTES -_METAITEM.fields_by_name['attributes'].message_type = _LISTATTRIBUTES -_LISTITEMS.fields_by_name['items'].message_type = _ITEM -_LISTITEMS.fields_by_name['meta_items'].message_type = _METAITEM +_ITEM.fields_by_name["attributes"].message_type = _ITEMATTRIBUTES +_METAITEM.fields_by_name["attributes"].message_type = _LISTATTRIBUTES +_LISTITEMS.fields_by_name["items"].message_type = _ITEM +_LISTITEMS.fields_by_name["meta_items"].message_type = _METAITEM _LISTATTRIBUTES.fields_by_name[ - 'format_attributes'].message_type = _FORMATLISTATTRIBUTE + "format_attributes"].message_type = _FORMATLISTATTRIBUTE _ITEMATTRIBUTES.fields_by_name[ - 'format_attributes'].message_type = _FORMATLISTATTRIBUTE -_ADD.fields_by_name['items'].message_type = _ITEM -_REM.fields_by_name['items'].message_type = _ITEM + "format_attributes"].message_type = _FORMATLISTATTRIBUTE +_ADD.fields_by_name["items"].message_type = _ITEM +_REM.fields_by_name["items"].message_type = _ITEM _ITEMATTRIBUTESPARTIALSTATE.fields_by_name[ - 'values'].message_type = _ITEMATTRIBUTES + "values"].message_type = _ITEMATTRIBUTES _ITEMATTRIBUTESPARTIALSTATE.fields_by_name[ - 'no_value'].enum_type = _ITEMATTRIBUTEKIND + "no_value"].enum_type = _ITEMATTRIBUTEKIND _LISTATTRIBUTESPARTIALSTATE.fields_by_name[ - 'values'].message_type = _LISTATTRIBUTES + "values"].message_type = _LISTATTRIBUTES _LISTATTRIBUTESPARTIALSTATE.fields_by_name[ - 'no_value'].enum_type = _LISTATTRIBUTEKIND + "no_value"].enum_type = _LISTATTRIBUTEKIND _UPDATEITEMATTRIBUTES.fields_by_name[ - 'new_attributes'].message_type = _ITEMATTRIBUTESPARTIALSTATE + "new_attributes"].message_type = _ITEMATTRIBUTESPARTIALSTATE _UPDATEITEMATTRIBUTES.fields_by_name[ - 'old_attributes'].message_type = _ITEMATTRIBUTESPARTIALSTATE + "old_attributes"].message_type = _ITEMATTRIBUTESPARTIALSTATE _UPDATELISTATTRIBUTES.fields_by_name[ - 'new_attributes'].message_type = _LISTATTRIBUTESPARTIALSTATE + "new_attributes"].message_type = _LISTATTRIBUTESPARTIALSTATE _UPDATELISTATTRIBUTES.fields_by_name[ - 'old_attributes'].message_type = _LISTATTRIBUTESPARTIALSTATE -_OP.fields_by_name['kind'].enum_type = _OP_KIND -_OP.fields_by_name['add'].message_type = _ADD -_OP.fields_by_name['rem'].message_type = _REM -_OP.fields_by_name['mov'].message_type = _MOV + "old_attributes"].message_type = _LISTATTRIBUTESPARTIALSTATE +_OP.fields_by_name["kind"].enum_type = _OP_KIND +_OP.fields_by_name["add"].message_type = _ADD +_OP.fields_by_name["rem"].message_type = _REM +_OP.fields_by_name["mov"].message_type = _MOV _OP.fields_by_name[ - 'update_item_attributes'].message_type = _UPDATEITEMATTRIBUTES + "update_item_attributes"].message_type = _UPDATEITEMATTRIBUTES _OP.fields_by_name[ - 'update_list_attributes'].message_type = _UPDATELISTATTRIBUTES + "update_list_attributes"].message_type = _UPDATELISTATTRIBUTES _OP_KIND.containing_type = _OP -_OPLIST.fields_by_name['ops'].message_type = _OP -_CHANGEINFO.fields_by_name['source'].message_type = _SOURCEINFO -_SOURCEINFO.fields_by_name['client'].enum_type = _SOURCEINFO_CLIENT +_OPLIST.fields_by_name["ops"].message_type = _OP +_CHANGEINFO.fields_by_name["source"].message_type = _SOURCEINFO +_SOURCEINFO.fields_by_name["client"].enum_type = _SOURCEINFO_CLIENT _SOURCEINFO_CLIENT.containing_type = _SOURCEINFO -_DELTA.fields_by_name['ops'].message_type = _OP -_DELTA.fields_by_name['info'].message_type = _CHANGEINFO -_DIFF.fields_by_name['ops'].message_type = _OP -_LISTCHANGES.fields_by_name['deltas'].message_type = _DELTA +_DELTA.fields_by_name["ops"].message_type = _OP +_DELTA.fields_by_name["info"].message_type = _CHANGEINFO +_DIFF.fields_by_name["ops"].message_type = _OP +_LISTCHANGES.fields_by_name["deltas"].message_type = _DELTA _SELECTEDLISTCONTENT.fields_by_name[ - 'attributes'].message_type = _LISTATTRIBUTES -_SELECTEDLISTCONTENT.fields_by_name['contents'].message_type = _LISTITEMS -_SELECTEDLISTCONTENT.fields_by_name['diff'].message_type = _DIFF -_SELECTEDLISTCONTENT.fields_by_name['sync_result'].message_type = _DIFF -_PLAYLISTMODIFICATIONINFO.fields_by_name['ops'].message_type = _OP -DESCRIPTOR.message_types_by_name['Item'] = _ITEM -DESCRIPTOR.message_types_by_name['MetaItem'] = _METAITEM -DESCRIPTOR.message_types_by_name['ListItems'] = _LISTITEMS -DESCRIPTOR.message_types_by_name['FormatListAttribute'] = _FORMATLISTATTRIBUTE -DESCRIPTOR.message_types_by_name['ListAttributes'] = _LISTATTRIBUTES -DESCRIPTOR.message_types_by_name['ItemAttributes'] = _ITEMATTRIBUTES -DESCRIPTOR.message_types_by_name['Add'] = _ADD -DESCRIPTOR.message_types_by_name['Rem'] = _REM -DESCRIPTOR.message_types_by_name['Mov'] = _MOV + "attributes"].message_type = _LISTATTRIBUTES +_SELECTEDLISTCONTENT.fields_by_name["contents"].message_type = _LISTITEMS +_SELECTEDLISTCONTENT.fields_by_name["diff"].message_type = _DIFF +_SELECTEDLISTCONTENT.fields_by_name["sync_result"].message_type = _DIFF +_PLAYLISTMODIFICATIONINFO.fields_by_name["ops"].message_type = _OP +DESCRIPTOR.message_types_by_name["Item"] = _ITEM +DESCRIPTOR.message_types_by_name["MetaItem"] = _METAITEM +DESCRIPTOR.message_types_by_name["ListItems"] = _LISTITEMS +DESCRIPTOR.message_types_by_name["FormatListAttribute"] = _FORMATLISTATTRIBUTE +DESCRIPTOR.message_types_by_name["ListAttributes"] = _LISTATTRIBUTES +DESCRIPTOR.message_types_by_name["ItemAttributes"] = _ITEMATTRIBUTES +DESCRIPTOR.message_types_by_name["Add"] = _ADD +DESCRIPTOR.message_types_by_name["Rem"] = _REM +DESCRIPTOR.message_types_by_name["Mov"] = _MOV DESCRIPTOR.message_types_by_name[ - 'ItemAttributesPartialState'] = _ITEMATTRIBUTESPARTIALSTATE + "ItemAttributesPartialState"] = _ITEMATTRIBUTESPARTIALSTATE DESCRIPTOR.message_types_by_name[ - 'ListAttributesPartialState'] = _LISTATTRIBUTESPARTIALSTATE + "ListAttributesPartialState"] = _LISTATTRIBUTESPARTIALSTATE DESCRIPTOR.message_types_by_name[ - 'UpdateItemAttributes'] = _UPDATEITEMATTRIBUTES + "UpdateItemAttributes"] = _UPDATEITEMATTRIBUTES DESCRIPTOR.message_types_by_name[ - 'UpdateListAttributes'] = _UPDATELISTATTRIBUTES -DESCRIPTOR.message_types_by_name['Op'] = _OP -DESCRIPTOR.message_types_by_name['OpList'] = _OPLIST -DESCRIPTOR.message_types_by_name['ChangeInfo'] = _CHANGEINFO -DESCRIPTOR.message_types_by_name['SourceInfo'] = _SOURCEINFO -DESCRIPTOR.message_types_by_name['Delta'] = _DELTA -DESCRIPTOR.message_types_by_name['Diff'] = _DIFF -DESCRIPTOR.message_types_by_name['ListChanges'] = _LISTCHANGES -DESCRIPTOR.message_types_by_name['SelectedListContent'] = _SELECTEDLISTCONTENT -DESCRIPTOR.message_types_by_name['CreateListReply'] = _CREATELISTREPLY -DESCRIPTOR.message_types_by_name['ModifyReply'] = _MODIFYREPLY -DESCRIPTOR.message_types_by_name['SubscribeRequest'] = _SUBSCRIBEREQUEST -DESCRIPTOR.message_types_by_name['UnsubscribeRequest'] = _UNSUBSCRIBEREQUEST + "UpdateListAttributes"] = _UPDATELISTATTRIBUTES +DESCRIPTOR.message_types_by_name["Op"] = _OP +DESCRIPTOR.message_types_by_name["OpList"] = _OPLIST +DESCRIPTOR.message_types_by_name["ChangeInfo"] = _CHANGEINFO +DESCRIPTOR.message_types_by_name["SourceInfo"] = _SOURCEINFO +DESCRIPTOR.message_types_by_name["Delta"] = _DELTA +DESCRIPTOR.message_types_by_name["Diff"] = _DIFF +DESCRIPTOR.message_types_by_name["ListChanges"] = _LISTCHANGES +DESCRIPTOR.message_types_by_name["SelectedListContent"] = _SELECTEDLISTCONTENT +DESCRIPTOR.message_types_by_name["CreateListReply"] = _CREATELISTREPLY +DESCRIPTOR.message_types_by_name["ModifyReply"] = _MODIFYREPLY +DESCRIPTOR.message_types_by_name["SubscribeRequest"] = _SUBSCRIBEREQUEST +DESCRIPTOR.message_types_by_name["UnsubscribeRequest"] = _UNSUBSCRIBEREQUEST DESCRIPTOR.message_types_by_name[ - 'PlaylistModificationInfo'] = _PLAYLISTMODIFICATIONINFO -DESCRIPTOR.enum_types_by_name['ListAttributeKind'] = _LISTATTRIBUTEKIND -DESCRIPTOR.enum_types_by_name['ItemAttributeKind'] = _ITEMATTRIBUTEKIND + "PlaylistModificationInfo"] = _PLAYLISTMODIFICATIONINFO +DESCRIPTOR.enum_types_by_name["ListAttributeKind"] = _LISTATTRIBUTEKIND +DESCRIPTOR.enum_types_by_name["ItemAttributeKind"] = _ITEMATTRIBUTEKIND _sym_db.RegisterFileDescriptor(DESCRIPTOR) Item = _reflection.GeneratedProtocolMessageType( - 'Item', + "Item", (_message.Message, ), { - 'DESCRIPTOR': _ITEM, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _ITEM, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.Item) - }) + }, +) _sym_db.RegisterMessage(Item) MetaItem = _reflection.GeneratedProtocolMessageType( - 'MetaItem', + "MetaItem", (_message.Message, ), { - 'DESCRIPTOR': _METAITEM, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _METAITEM, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.MetaItem) - }) + }, +) _sym_db.RegisterMessage(MetaItem) ListItems = _reflection.GeneratedProtocolMessageType( - 'ListItems', + "ListItems", (_message.Message, ), { - 'DESCRIPTOR': _LISTITEMS, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _LISTITEMS, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ListItems) - }) + }, +) _sym_db.RegisterMessage(ListItems) FormatListAttribute = _reflection.GeneratedProtocolMessageType( - 'FormatListAttribute', + "FormatListAttribute", (_message.Message, ), { - 'DESCRIPTOR': _FORMATLISTATTRIBUTE, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _FORMATLISTATTRIBUTE, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.FormatListAttribute) - }) + }, +) _sym_db.RegisterMessage(FormatListAttribute) ListAttributes = _reflection.GeneratedProtocolMessageType( - 'ListAttributes', + "ListAttributes", (_message.Message, ), { - 'DESCRIPTOR': _LISTATTRIBUTES, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _LISTATTRIBUTES, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ListAttributes) - }) + }, +) _sym_db.RegisterMessage(ListAttributes) ItemAttributes = _reflection.GeneratedProtocolMessageType( - 'ItemAttributes', + "ItemAttributes", (_message.Message, ), { - 'DESCRIPTOR': _ITEMATTRIBUTES, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _ITEMATTRIBUTES, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ItemAttributes) - }) + }, +) _sym_db.RegisterMessage(ItemAttributes) Add = _reflection.GeneratedProtocolMessageType( - 'Add', + "Add", (_message.Message, ), { - 'DESCRIPTOR': _ADD, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _ADD, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.Add) - }) + }, +) _sym_db.RegisterMessage(Add) Rem = _reflection.GeneratedProtocolMessageType( - 'Rem', + "Rem", (_message.Message, ), { - 'DESCRIPTOR': _REM, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _REM, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.Rem) - }) + }, +) _sym_db.RegisterMessage(Rem) Mov = _reflection.GeneratedProtocolMessageType( - 'Mov', + "Mov", (_message.Message, ), { - 'DESCRIPTOR': _MOV, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _MOV, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.Mov) - }) + }, +) _sym_db.RegisterMessage(Mov) ItemAttributesPartialState = _reflection.GeneratedProtocolMessageType( - 'ItemAttributesPartialState', + "ItemAttributesPartialState", (_message.Message, ), { - 'DESCRIPTOR': _ITEMATTRIBUTESPARTIALSTATE, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _ITEMATTRIBUTESPARTIALSTATE, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ItemAttributesPartialState) - }) + }, +) _sym_db.RegisterMessage(ItemAttributesPartialState) ListAttributesPartialState = _reflection.GeneratedProtocolMessageType( - 'ListAttributesPartialState', + "ListAttributesPartialState", (_message.Message, ), { - 'DESCRIPTOR': _LISTATTRIBUTESPARTIALSTATE, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _LISTATTRIBUTESPARTIALSTATE, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ListAttributesPartialState) - }) + }, +) _sym_db.RegisterMessage(ListAttributesPartialState) UpdateItemAttributes = _reflection.GeneratedProtocolMessageType( - 'UpdateItemAttributes', + "UpdateItemAttributes", (_message.Message, ), { - 'DESCRIPTOR': _UPDATEITEMATTRIBUTES, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _UPDATEITEMATTRIBUTES, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.UpdateItemAttributes) - }) + }, +) _sym_db.RegisterMessage(UpdateItemAttributes) UpdateListAttributes = _reflection.GeneratedProtocolMessageType( - 'UpdateListAttributes', + "UpdateListAttributes", (_message.Message, ), { - 'DESCRIPTOR': _UPDATELISTATTRIBUTES, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _UPDATELISTATTRIBUTES, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.UpdateListAttributes) - }) + }, +) _sym_db.RegisterMessage(UpdateListAttributes) Op = _reflection.GeneratedProtocolMessageType( - 'Op', + "Op", (_message.Message, ), { - 'DESCRIPTOR': _OP, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _OP, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.Op) - }) + }, +) _sym_db.RegisterMessage(Op) OpList = _reflection.GeneratedProtocolMessageType( - 'OpList', + "OpList", (_message.Message, ), { - 'DESCRIPTOR': _OPLIST, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _OPLIST, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.OpList) - }) + }, +) _sym_db.RegisterMessage(OpList) ChangeInfo = _reflection.GeneratedProtocolMessageType( - 'ChangeInfo', + "ChangeInfo", (_message.Message, ), { - 'DESCRIPTOR': _CHANGEINFO, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _CHANGEINFO, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ChangeInfo) - }) + }, +) _sym_db.RegisterMessage(ChangeInfo) SourceInfo = _reflection.GeneratedProtocolMessageType( - 'SourceInfo', + "SourceInfo", (_message.Message, ), { - 'DESCRIPTOR': _SOURCEINFO, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _SOURCEINFO, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.SourceInfo) - }) + }, +) _sym_db.RegisterMessage(SourceInfo) Delta = _reflection.GeneratedProtocolMessageType( - 'Delta', + "Delta", (_message.Message, ), { - 'DESCRIPTOR': _DELTA, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _DELTA, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.Delta) - }) + }, +) _sym_db.RegisterMessage(Delta) Diff = _reflection.GeneratedProtocolMessageType( - 'Diff', + "Diff", (_message.Message, ), { - 'DESCRIPTOR': _DIFF, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _DIFF, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.Diff) - }) + }, +) _sym_db.RegisterMessage(Diff) ListChanges = _reflection.GeneratedProtocolMessageType( - 'ListChanges', + "ListChanges", (_message.Message, ), { - 'DESCRIPTOR': _LISTCHANGES, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _LISTCHANGES, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ListChanges) - }) + }, +) _sym_db.RegisterMessage(ListChanges) SelectedListContent = _reflection.GeneratedProtocolMessageType( - 'SelectedListContent', + "SelectedListContent", (_message.Message, ), { - 'DESCRIPTOR': _SELECTEDLISTCONTENT, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _SELECTEDLISTCONTENT, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.SelectedListContent) - }) + }, +) _sym_db.RegisterMessage(SelectedListContent) CreateListReply = _reflection.GeneratedProtocolMessageType( - 'CreateListReply', + "CreateListReply", (_message.Message, ), { - 'DESCRIPTOR': _CREATELISTREPLY, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _CREATELISTREPLY, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.CreateListReply) - }) + }, +) _sym_db.RegisterMessage(CreateListReply) ModifyReply = _reflection.GeneratedProtocolMessageType( - 'ModifyReply', + "ModifyReply", (_message.Message, ), { - 'DESCRIPTOR': _MODIFYREPLY, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _MODIFYREPLY, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.ModifyReply) - }) + }, +) _sym_db.RegisterMessage(ModifyReply) SubscribeRequest = _reflection.GeneratedProtocolMessageType( - 'SubscribeRequest', + "SubscribeRequest", (_message.Message, ), { - 'DESCRIPTOR': _SUBSCRIBEREQUEST, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _SUBSCRIBEREQUEST, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.SubscribeRequest) - }) + }, +) _sym_db.RegisterMessage(SubscribeRequest) UnsubscribeRequest = _reflection.GeneratedProtocolMessageType( - 'UnsubscribeRequest', + "UnsubscribeRequest", (_message.Message, ), { - 'DESCRIPTOR': _UNSUBSCRIBEREQUEST, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _UNSUBSCRIBEREQUEST, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.UnsubscribeRequest) - }) + }, +) _sym_db.RegisterMessage(UnsubscribeRequest) PlaylistModificationInfo = _reflection.GeneratedProtocolMessageType( - 'PlaylistModificationInfo', + "PlaylistModificationInfo", (_message.Message, ), { - 'DESCRIPTOR': _PLAYLISTMODIFICATIONINFO, - '__module__': 'playlist4_external_pb2' + "DESCRIPTOR": _PLAYLISTMODIFICATIONINFO, + "__module__": "playlist4_external_pb2" # @@protoc_insertion_point(class_scope:spotify.playlist4.proto.PlaylistModificationInfo) - }) + }, +) _sym_db.RegisterMessage(PlaylistModificationInfo) DESCRIPTOR._options = None diff --git a/librespot/proto/PlaylistAnnotate3.py b/librespot/proto/PlaylistAnnotate3.py index 0ef985a..265b99b 100644 --- a/librespot/proto/PlaylistAnnotate3.py +++ b/librespot/proto/PlaylistAnnotate3.py @@ -2,46 +2,49 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: playlist_annotate3.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper 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 symbol_database as _symbol_database +from google.protobuf.internal import enum_type_wrapper + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='playlist_annotate3.proto', - package='spotify_playlist_annotate3.proto', - syntax='proto2', - serialized_options=b'\n\036com.spotify.playlist_annotate3H\002', + name="playlist_annotate3.proto", + package="spotify_playlist_annotate3.proto", + syntax="proto2", + serialized_options=b"\n\036com.spotify.playlist_annotate3H\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x18playlist_annotate3.proto\x12 spotify_playlist_annotate3.proto\"a\n\x0fTakedownRequest\x12N\n\x12\x61\x62use_report_state\x18\x01 \x01(\x0e\x32\x32.spotify_playlist_annotate3.proto.AbuseReportState\"9\n\x0f\x41nnotateRequest\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x11\n\timage_uri\x18\x02 \x01(\t\"5\n\x11TranscodedPicture\x12\x13\n\x0btarget_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\"\xf4\x02\n\x12PlaylistAnnotation\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0f\n\x07picture\x18\x02 \x01(\t\x12i\n\x1a\x64\x65precated_render_features\x18\x03 \x01(\x0e\x32\x30.spotify_playlist_annotate3.proto.RenderFeatures:\x0fNORMAL_FEATURESB\x02\x18\x01\x12O\n\x12transcoded_picture\x18\x04 \x03(\x0b\x32\x33.spotify_playlist_annotate3.proto.TranscodedPicture\x12(\n\x1ais_abuse_reporting_enabled\x18\x06 \x01(\x08:\x04true\x12R\n\x12\x61\x62use_report_state\x18\x07 \x01(\x0e\x32\x32.spotify_playlist_annotate3.proto.AbuseReportState:\x02OK*<\n\x0eRenderFeatures\x12\x13\n\x0fNORMAL_FEATURES\x10\x01\x12\x15\n\x11\x45XTENDED_FEATURES\x10\x02**\n\x10\x41\x62useReportState\x12\x06\n\x02OK\x10\x00\x12\x0e\n\nTAKEN_DOWN\x10\x01\x42\"\n\x1e\x63om.spotify.playlist_annotate3H\x02' + b'\n\x18playlist_annotate3.proto\x12 spotify_playlist_annotate3.proto"a\n\x0fTakedownRequest\x12N\n\x12\x61\x62use_report_state\x18\x01 \x01(\x0e\x32\x32.spotify_playlist_annotate3.proto.AbuseReportState"9\n\x0f\x41nnotateRequest\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x11\n\timage_uri\x18\x02 \x01(\t"5\n\x11TranscodedPicture\x12\x13\n\x0btarget_name\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t"\xf4\x02\n\x12PlaylistAnnotation\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0f\n\x07picture\x18\x02 \x01(\t\x12i\n\x1a\x64\x65precated_render_features\x18\x03 \x01(\x0e\x32\x30.spotify_playlist_annotate3.proto.RenderFeatures:\x0fNORMAL_FEATURESB\x02\x18\x01\x12O\n\x12transcoded_picture\x18\x04 \x03(\x0b\x32\x33.spotify_playlist_annotate3.proto.TranscodedPicture\x12(\n\x1ais_abuse_reporting_enabled\x18\x06 \x01(\x08:\x04true\x12R\n\x12\x61\x62use_report_state\x18\x07 \x01(\x0e\x32\x32.spotify_playlist_annotate3.proto.AbuseReportState:\x02OK*<\n\x0eRenderFeatures\x12\x13\n\x0fNORMAL_FEATURES\x10\x01\x12\x15\n\x11\x45XTENDED_FEATURES\x10\x02**\n\x10\x41\x62useReportState\x12\x06\n\x02OK\x10\x00\x12\x0e\n\nTAKEN_DOWN\x10\x01\x42"\n\x1e\x63om.spotify.playlist_annotate3H\x02', ) _RENDERFEATURES = _descriptor.EnumDescriptor( - name='RenderFeatures', - full_name='spotify_playlist_annotate3.proto.RenderFeatures', + name="RenderFeatures", + full_name="spotify_playlist_annotate3.proto.RenderFeatures", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='NORMAL_FEATURES', + name="NORMAL_FEATURES", index=0, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='EXTENDED_FEATURES', + name="EXTENDED_FEATURES", index=1, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -52,26 +55,28 @@ _sym_db.RegisterEnumDescriptor(_RENDERFEATURES) RenderFeatures = enum_type_wrapper.EnumTypeWrapper(_RENDERFEATURES) _ABUSEREPORTSTATE = _descriptor.EnumDescriptor( - name='AbuseReportState', - full_name='spotify_playlist_annotate3.proto.AbuseReportState', + name="AbuseReportState", + full_name="spotify_playlist_annotate3.proto.AbuseReportState", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='OK', + name="OK", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='TAKEN_DOWN', + name="TAKEN_DOWN", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -87,17 +92,17 @@ OK = 0 TAKEN_DOWN = 1 _TAKEDOWNREQUEST = _descriptor.Descriptor( - name='TakedownRequest', - full_name='spotify_playlist_annotate3.proto.TakedownRequest', + name="TakedownRequest", + full_name="spotify_playlist_annotate3.proto.TakedownRequest", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='abuse_report_state', + name="abuse_report_state", full_name= - 'spotify_playlist_annotate3.proto.TakedownRequest.abuse_report_state', + "spotify_playlist_annotate3.proto.TakedownRequest.abuse_report_state", index=0, number=1, type=14, @@ -112,14 +117,15 @@ _TAKEDOWNREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=62, @@ -127,24 +133,24 @@ _TAKEDOWNREQUEST = _descriptor.Descriptor( ) _ANNOTATEREQUEST = _descriptor.Descriptor( - name='AnnotateRequest', - full_name='spotify_playlist_annotate3.proto.AnnotateRequest', + name="AnnotateRequest", + full_name="spotify_playlist_annotate3.proto.AnnotateRequest", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='description', + name="description", full_name= - 'spotify_playlist_annotate3.proto.AnnotateRequest.description', + "spotify_playlist_annotate3.proto.AnnotateRequest.description", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -152,18 +158,19 @@ _ANNOTATEREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='image_uri', + name="image_uri", full_name= - 'spotify_playlist_annotate3.proto.AnnotateRequest.image_uri', + "spotify_playlist_annotate3.proto.AnnotateRequest.image_uri", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -171,14 +178,15 @@ _ANNOTATEREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=161, @@ -186,24 +194,24 @@ _ANNOTATEREQUEST = _descriptor.Descriptor( ) _TRANSCODEDPICTURE = _descriptor.Descriptor( - name='TranscodedPicture', - full_name='spotify_playlist_annotate3.proto.TranscodedPicture', + name="TranscodedPicture", + full_name="spotify_playlist_annotate3.proto.TranscodedPicture", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='target_name', + name="target_name", full_name= - 'spotify_playlist_annotate3.proto.TranscodedPicture.target_name', + "spotify_playlist_annotate3.proto.TranscodedPicture.target_name", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -211,17 +219,18 @@ _TRANSCODEDPICTURE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='uri', - full_name='spotify_playlist_annotate3.proto.TranscodedPicture.uri', + name="uri", + full_name="spotify_playlist_annotate3.proto.TranscodedPicture.uri", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -229,14 +238,15 @@ _TRANSCODEDPICTURE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=220, @@ -244,24 +254,24 @@ _TRANSCODEDPICTURE = _descriptor.Descriptor( ) _PLAYLISTANNOTATION = _descriptor.Descriptor( - name='PlaylistAnnotation', - full_name='spotify_playlist_annotate3.proto.PlaylistAnnotation', + name="PlaylistAnnotation", + full_name="spotify_playlist_annotate3.proto.PlaylistAnnotation", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='description', + name="description", full_name= - 'spotify_playlist_annotate3.proto.PlaylistAnnotation.description', + "spotify_playlist_annotate3.proto.PlaylistAnnotation.description", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -269,18 +279,19 @@ _PLAYLISTANNOTATION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='picture', + name="picture", full_name= - 'spotify_playlist_annotate3.proto.PlaylistAnnotation.picture', + "spotify_playlist_annotate3.proto.PlaylistAnnotation.picture", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -288,11 +299,12 @@ _PLAYLISTANNOTATION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='deprecated_render_features', + name="deprecated_render_features", full_name= - 'spotify_playlist_annotate3.proto.PlaylistAnnotation.deprecated_render_features', + "spotify_playlist_annotate3.proto.PlaylistAnnotation.deprecated_render_features", index=2, number=3, type=14, @@ -305,13 +317,14 @@ _PLAYLISTANNOTATION = _descriptor.Descriptor( containing_type=None, is_extension=False, extension_scope=None, - serialized_options=b'\030\001', + serialized_options=b"\030\001", file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='transcoded_picture', + name="transcoded_picture", full_name= - 'spotify_playlist_annotate3.proto.PlaylistAnnotation.transcoded_picture', + "spotify_playlist_annotate3.proto.PlaylistAnnotation.transcoded_picture", index=3, number=4, type=11, @@ -326,11 +339,12 @@ _PLAYLISTANNOTATION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='is_abuse_reporting_enabled', + name="is_abuse_reporting_enabled", full_name= - 'spotify_playlist_annotate3.proto.PlaylistAnnotation.is_abuse_reporting_enabled', + "spotify_playlist_annotate3.proto.PlaylistAnnotation.is_abuse_reporting_enabled", index=4, number=6, type=8, @@ -345,11 +359,12 @@ _PLAYLISTANNOTATION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='abuse_report_state', + name="abuse_report_state", full_name= - 'spotify_playlist_annotate3.proto.PlaylistAnnotation.abuse_report_state', + "spotify_playlist_annotate3.proto.PlaylistAnnotation.abuse_report_state", index=5, number=7, type=14, @@ -364,14 +379,15 @@ _PLAYLISTANNOTATION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=276, @@ -379,62 +395,66 @@ _PLAYLISTANNOTATION = _descriptor.Descriptor( ) _TAKEDOWNREQUEST.fields_by_name[ - 'abuse_report_state'].enum_type = _ABUSEREPORTSTATE + "abuse_report_state"].enum_type = _ABUSEREPORTSTATE _PLAYLISTANNOTATION.fields_by_name[ - 'deprecated_render_features'].enum_type = _RENDERFEATURES + "deprecated_render_features"].enum_type = _RENDERFEATURES _PLAYLISTANNOTATION.fields_by_name[ - 'transcoded_picture'].message_type = _TRANSCODEDPICTURE + "transcoded_picture"].message_type = _TRANSCODEDPICTURE _PLAYLISTANNOTATION.fields_by_name[ - 'abuse_report_state'].enum_type = _ABUSEREPORTSTATE -DESCRIPTOR.message_types_by_name['TakedownRequest'] = _TAKEDOWNREQUEST -DESCRIPTOR.message_types_by_name['AnnotateRequest'] = _ANNOTATEREQUEST -DESCRIPTOR.message_types_by_name['TranscodedPicture'] = _TRANSCODEDPICTURE -DESCRIPTOR.message_types_by_name['PlaylistAnnotation'] = _PLAYLISTANNOTATION -DESCRIPTOR.enum_types_by_name['RenderFeatures'] = _RENDERFEATURES -DESCRIPTOR.enum_types_by_name['AbuseReportState'] = _ABUSEREPORTSTATE + "abuse_report_state"].enum_type = _ABUSEREPORTSTATE +DESCRIPTOR.message_types_by_name["TakedownRequest"] = _TAKEDOWNREQUEST +DESCRIPTOR.message_types_by_name["AnnotateRequest"] = _ANNOTATEREQUEST +DESCRIPTOR.message_types_by_name["TranscodedPicture"] = _TRANSCODEDPICTURE +DESCRIPTOR.message_types_by_name["PlaylistAnnotation"] = _PLAYLISTANNOTATION +DESCRIPTOR.enum_types_by_name["RenderFeatures"] = _RENDERFEATURES +DESCRIPTOR.enum_types_by_name["AbuseReportState"] = _ABUSEREPORTSTATE _sym_db.RegisterFileDescriptor(DESCRIPTOR) TakedownRequest = _reflection.GeneratedProtocolMessageType( - 'TakedownRequest', + "TakedownRequest", (_message.Message, ), { - 'DESCRIPTOR': _TAKEDOWNREQUEST, - '__module__': 'playlist_annotate3_pb2' + "DESCRIPTOR": _TAKEDOWNREQUEST, + "__module__": "playlist_annotate3_pb2" # @@protoc_insertion_point(class_scope:spotify_playlist_annotate3.proto.TakedownRequest) - }) + }, +) _sym_db.RegisterMessage(TakedownRequest) AnnotateRequest = _reflection.GeneratedProtocolMessageType( - 'AnnotateRequest', + "AnnotateRequest", (_message.Message, ), { - 'DESCRIPTOR': _ANNOTATEREQUEST, - '__module__': 'playlist_annotate3_pb2' + "DESCRIPTOR": _ANNOTATEREQUEST, + "__module__": "playlist_annotate3_pb2" # @@protoc_insertion_point(class_scope:spotify_playlist_annotate3.proto.AnnotateRequest) - }) + }, +) _sym_db.RegisterMessage(AnnotateRequest) TranscodedPicture = _reflection.GeneratedProtocolMessageType( - 'TranscodedPicture', + "TranscodedPicture", (_message.Message, ), { - 'DESCRIPTOR': _TRANSCODEDPICTURE, - '__module__': 'playlist_annotate3_pb2' + "DESCRIPTOR": _TRANSCODEDPICTURE, + "__module__": "playlist_annotate3_pb2" # @@protoc_insertion_point(class_scope:spotify_playlist_annotate3.proto.TranscodedPicture) - }) + }, +) _sym_db.RegisterMessage(TranscodedPicture) PlaylistAnnotation = _reflection.GeneratedProtocolMessageType( - 'PlaylistAnnotation', + "PlaylistAnnotation", (_message.Message, ), { - 'DESCRIPTOR': _PLAYLISTANNOTATION, - '__module__': 'playlist_annotate3_pb2' + "DESCRIPTOR": _PLAYLISTANNOTATION, + "__module__": "playlist_annotate3_pb2" # @@protoc_insertion_point(class_scope:spotify_playlist_annotate3.proto.PlaylistAnnotation) - }) + }, +) _sym_db.RegisterMessage(PlaylistAnnotation) DESCRIPTOR._options = None _PLAYLISTANNOTATION.fields_by_name[ - 'deprecated_render_features']._options = None + "deprecated_render_features"]._options = None # @@protoc_insertion_point(module_scope) diff --git a/librespot/proto/Queue.py b/librespot/proto/Queue.py index 400b8eb..daf6c3d 100644 --- a/librespot/proto/Queue.py +++ b/librespot/proto/Queue.py @@ -2,39 +2,40 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: queue.proto """Generated protocol buffer code.""" +import ContextTrack as context__track__pb2 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import ContextTrack as context__track__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='queue.proto', - package='spotify.player.proto.transfer', - syntax='proto2', - serialized_options=b'\n\024com.spotify.transferH\002', + name="queue.proto", + package="spotify.player.proto.transfer", + syntax="proto2", + serialized_options=b"\n\024com.spotify.transferH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x0bqueue.proto\x12\x1dspotify.player.proto.transfer\x1a\x13\x63ontext_track.proto\"U\n\x05Queue\x12\x32\n\x06tracks\x18\x01 \x03(\x0b\x32\".spotify.player.proto.ContextTrack\x12\x18\n\x10is_playing_queue\x18\x02 \x01(\x08\x42\x18\n\x14\x63om.spotify.transferH\x02', + b'\n\x0bqueue.proto\x12\x1dspotify.player.proto.transfer\x1a\x13\x63ontext_track.proto"U\n\x05Queue\x12\x32\n\x06tracks\x18\x01 \x03(\x0b\x32".spotify.player.proto.ContextTrack\x12\x18\n\x10is_playing_queue\x18\x02 \x01(\x08\x42\x18\n\x14\x63om.spotify.transferH\x02', dependencies=[ context__track__pb2.DESCRIPTOR, - ]) + ], +) _QUEUE = _descriptor.Descriptor( - name='Queue', - full_name='spotify.player.proto.transfer.Queue', + name="Queue", + full_name="spotify.player.proto.transfer.Queue", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='tracks', - full_name='spotify.player.proto.transfer.Queue.tracks', + name="tracks", + full_name="spotify.player.proto.transfer.Queue.tracks", index=0, number=1, type=11, @@ -49,10 +50,11 @@ _QUEUE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='is_playing_queue', - full_name='spotify.player.proto.transfer.Queue.is_playing_queue', + name="is_playing_queue", + full_name="spotify.player.proto.transfer.Queue.is_playing_queue", index=1, number=2, type=8, @@ -67,14 +69,15 @@ _QUEUE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=67, @@ -82,18 +85,19 @@ _QUEUE = _descriptor.Descriptor( ) _QUEUE.fields_by_name[ - 'tracks'].message_type = context__track__pb2._CONTEXTTRACK -DESCRIPTOR.message_types_by_name['Queue'] = _QUEUE + "tracks"].message_type = context__track__pb2._CONTEXTTRACK +DESCRIPTOR.message_types_by_name["Queue"] = _QUEUE _sym_db.RegisterFileDescriptor(DESCRIPTOR) Queue = _reflection.GeneratedProtocolMessageType( - 'Queue', + "Queue", (_message.Message, ), { - 'DESCRIPTOR': _QUEUE, - '__module__': 'queue_pb2' + "DESCRIPTOR": _QUEUE, + "__module__": "queue_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.transfer.Queue) - }) + }, +) _sym_db.RegisterMessage(Queue) DESCRIPTOR._options = None diff --git a/librespot/proto/Restrictions.py b/librespot/proto/Restrictions.py index 68ba70c..489e934 100644 --- a/librespot/proto/Restrictions.py +++ b/librespot/proto/Restrictions.py @@ -6,32 +6,33 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='restrictions.proto', - package='spotify.player.proto', - syntax='proto2', - serialized_options=b'\n\023com.spotify.contextH\002', + name="restrictions.proto", + package="spotify.player.proto", + syntax="proto2", + serialized_options=b"\n\023com.spotify.contextH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x12restrictions.proto\x12\x14spotify.player.proto\"\xbb\x07\n\x0cRestrictions\x12 \n\x18\x64isallow_pausing_reasons\x18\x01 \x03(\t\x12!\n\x19\x64isallow_resuming_reasons\x18\x02 \x03(\t\x12 \n\x18\x64isallow_seeking_reasons\x18\x03 \x03(\t\x12%\n\x1d\x64isallow_peeking_prev_reasons\x18\x04 \x03(\t\x12%\n\x1d\x64isallow_peeking_next_reasons\x18\x05 \x03(\t\x12&\n\x1e\x64isallow_skipping_prev_reasons\x18\x06 \x03(\t\x12&\n\x1e\x64isallow_skipping_next_reasons\x18\x07 \x03(\t\x12\x30\n(disallow_toggling_repeat_context_reasons\x18\x08 \x03(\t\x12.\n&disallow_toggling_repeat_track_reasons\x18\t \x03(\t\x12)\n!disallow_toggling_shuffle_reasons\x18\n \x03(\t\x12\"\n\x1a\x64isallow_set_queue_reasons\x18\x0b \x03(\t\x12.\n&disallow_interrupting_playback_reasons\x18\x0c \x03(\t\x12.\n&disallow_transferring_playback_reasons\x18\r \x03(\t\x12\'\n\x1f\x64isallow_remote_control_reasons\x18\x0e \x03(\t\x12\x33\n+disallow_inserting_into_next_tracks_reasons\x18\x0f \x03(\t\x12\x36\n.disallow_inserting_into_context_tracks_reasons\x18\x10 \x03(\t\x12\x32\n*disallow_reordering_in_next_tracks_reasons\x18\x11 \x03(\t\x12\x35\n-disallow_reordering_in_context_tracks_reasons\x18\x12 \x03(\t\x12\x32\n*disallow_removing_from_next_tracks_reasons\x18\x13 \x03(\t\x12\x35\n-disallow_removing_from_context_tracks_reasons\x18\x14 \x03(\t\x12)\n!disallow_updating_context_reasons\x18\x15 \x03(\tB\x17\n\x13\x63om.spotify.contextH\x02' + b'\n\x12restrictions.proto\x12\x14spotify.player.proto"\xbb\x07\n\x0cRestrictions\x12 \n\x18\x64isallow_pausing_reasons\x18\x01 \x03(\t\x12!\n\x19\x64isallow_resuming_reasons\x18\x02 \x03(\t\x12 \n\x18\x64isallow_seeking_reasons\x18\x03 \x03(\t\x12%\n\x1d\x64isallow_peeking_prev_reasons\x18\x04 \x03(\t\x12%\n\x1d\x64isallow_peeking_next_reasons\x18\x05 \x03(\t\x12&\n\x1e\x64isallow_skipping_prev_reasons\x18\x06 \x03(\t\x12&\n\x1e\x64isallow_skipping_next_reasons\x18\x07 \x03(\t\x12\x30\n(disallow_toggling_repeat_context_reasons\x18\x08 \x03(\t\x12.\n&disallow_toggling_repeat_track_reasons\x18\t \x03(\t\x12)\n!disallow_toggling_shuffle_reasons\x18\n \x03(\t\x12"\n\x1a\x64isallow_set_queue_reasons\x18\x0b \x03(\t\x12.\n&disallow_interrupting_playback_reasons\x18\x0c \x03(\t\x12.\n&disallow_transferring_playback_reasons\x18\r \x03(\t\x12\'\n\x1f\x64isallow_remote_control_reasons\x18\x0e \x03(\t\x12\x33\n+disallow_inserting_into_next_tracks_reasons\x18\x0f \x03(\t\x12\x36\n.disallow_inserting_into_context_tracks_reasons\x18\x10 \x03(\t\x12\x32\n*disallow_reordering_in_next_tracks_reasons\x18\x11 \x03(\t\x12\x35\n-disallow_reordering_in_context_tracks_reasons\x18\x12 \x03(\t\x12\x32\n*disallow_removing_from_next_tracks_reasons\x18\x13 \x03(\t\x12\x35\n-disallow_removing_from_context_tracks_reasons\x18\x14 \x03(\t\x12)\n!disallow_updating_context_reasons\x18\x15 \x03(\tB\x17\n\x13\x63om.spotify.contextH\x02', ) _RESTRICTIONS = _descriptor.Descriptor( - name='Restrictions', - full_name='spotify.player.proto.Restrictions', + name="Restrictions", + full_name="spotify.player.proto.Restrictions", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='disallow_pausing_reasons', + name="disallow_pausing_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_pausing_reasons', + "spotify.player.proto.Restrictions.disallow_pausing_reasons", index=0, number=1, type=9, @@ -46,11 +47,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_resuming_reasons', + name="disallow_resuming_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_resuming_reasons', + "spotify.player.proto.Restrictions.disallow_resuming_reasons", index=1, number=2, type=9, @@ -65,11 +67,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_seeking_reasons', + name="disallow_seeking_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_seeking_reasons', + "spotify.player.proto.Restrictions.disallow_seeking_reasons", index=2, number=3, type=9, @@ -84,11 +87,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_peeking_prev_reasons', + name="disallow_peeking_prev_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_peeking_prev_reasons', + "spotify.player.proto.Restrictions.disallow_peeking_prev_reasons", index=3, number=4, type=9, @@ -103,11 +107,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_peeking_next_reasons', + name="disallow_peeking_next_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_peeking_next_reasons', + "spotify.player.proto.Restrictions.disallow_peeking_next_reasons", index=4, number=5, type=9, @@ -122,11 +127,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_skipping_prev_reasons', + name="disallow_skipping_prev_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_skipping_prev_reasons', + "spotify.player.proto.Restrictions.disallow_skipping_prev_reasons", index=5, number=6, type=9, @@ -141,11 +147,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_skipping_next_reasons', + name="disallow_skipping_next_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_skipping_next_reasons', + "spotify.player.proto.Restrictions.disallow_skipping_next_reasons", index=6, number=7, type=9, @@ -160,11 +167,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_toggling_repeat_context_reasons', + name="disallow_toggling_repeat_context_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_toggling_repeat_context_reasons', + "spotify.player.proto.Restrictions.disallow_toggling_repeat_context_reasons", index=7, number=8, type=9, @@ -179,11 +187,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_toggling_repeat_track_reasons', + name="disallow_toggling_repeat_track_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_toggling_repeat_track_reasons', + "spotify.player.proto.Restrictions.disallow_toggling_repeat_track_reasons", index=8, number=9, type=9, @@ -198,11 +207,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_toggling_shuffle_reasons', + name="disallow_toggling_shuffle_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_toggling_shuffle_reasons', + "spotify.player.proto.Restrictions.disallow_toggling_shuffle_reasons", index=9, number=10, type=9, @@ -217,11 +227,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_set_queue_reasons', + name="disallow_set_queue_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_set_queue_reasons', + "spotify.player.proto.Restrictions.disallow_set_queue_reasons", index=10, number=11, type=9, @@ -236,11 +247,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_interrupting_playback_reasons', + name="disallow_interrupting_playback_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_interrupting_playback_reasons', + "spotify.player.proto.Restrictions.disallow_interrupting_playback_reasons", index=11, number=12, type=9, @@ -255,11 +267,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_transferring_playback_reasons', + name="disallow_transferring_playback_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_transferring_playback_reasons', + "spotify.player.proto.Restrictions.disallow_transferring_playback_reasons", index=12, number=13, type=9, @@ -274,11 +287,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_remote_control_reasons', + name="disallow_remote_control_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_remote_control_reasons', + "spotify.player.proto.Restrictions.disallow_remote_control_reasons", index=13, number=14, type=9, @@ -293,11 +307,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_inserting_into_next_tracks_reasons', + name="disallow_inserting_into_next_tracks_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_inserting_into_next_tracks_reasons', + "spotify.player.proto.Restrictions.disallow_inserting_into_next_tracks_reasons", index=14, number=15, type=9, @@ -312,11 +327,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_inserting_into_context_tracks_reasons', + name="disallow_inserting_into_context_tracks_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_inserting_into_context_tracks_reasons', + "spotify.player.proto.Restrictions.disallow_inserting_into_context_tracks_reasons", index=15, number=16, type=9, @@ -331,11 +347,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_reordering_in_next_tracks_reasons', + name="disallow_reordering_in_next_tracks_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_reordering_in_next_tracks_reasons', + "spotify.player.proto.Restrictions.disallow_reordering_in_next_tracks_reasons", index=16, number=17, type=9, @@ -350,11 +367,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_reordering_in_context_tracks_reasons', + name="disallow_reordering_in_context_tracks_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_reordering_in_context_tracks_reasons', + "spotify.player.proto.Restrictions.disallow_reordering_in_context_tracks_reasons", index=17, number=18, type=9, @@ -369,11 +387,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_removing_from_next_tracks_reasons', + name="disallow_removing_from_next_tracks_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_removing_from_next_tracks_reasons', + "spotify.player.proto.Restrictions.disallow_removing_from_next_tracks_reasons", index=18, number=19, type=9, @@ -388,11 +407,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_removing_from_context_tracks_reasons', + name="disallow_removing_from_context_tracks_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_removing_from_context_tracks_reasons', + "spotify.player.proto.Restrictions.disallow_removing_from_context_tracks_reasons", index=19, number=20, type=9, @@ -407,11 +427,12 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='disallow_updating_context_reasons', + name="disallow_updating_context_reasons", full_name= - 'spotify.player.proto.Restrictions.disallow_updating_context_reasons', + "spotify.player.proto.Restrictions.disallow_updating_context_reasons", index=20, number=21, type=9, @@ -426,31 +447,33 @@ _RESTRICTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=45, serialized_end=1000, ) -DESCRIPTOR.message_types_by_name['Restrictions'] = _RESTRICTIONS +DESCRIPTOR.message_types_by_name["Restrictions"] = _RESTRICTIONS _sym_db.RegisterFileDescriptor(DESCRIPTOR) Restrictions = _reflection.GeneratedProtocolMessageType( - 'Restrictions', + "Restrictions", (_message.Message, ), { - 'DESCRIPTOR': _RESTRICTIONS, - '__module__': 'restrictions_pb2' + "DESCRIPTOR": _RESTRICTIONS, + "__module__": "restrictions_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.Restrictions) - }) + }, +) _sym_db.RegisterMessage(Restrictions) DESCRIPTOR._options = None diff --git a/librespot/proto/Session.py b/librespot/proto/Session.py index 1f7d051..5f87137 100644 --- a/librespot/proto/Session.py +++ b/librespot/proto/Session.py @@ -2,43 +2,44 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: session.proto """Generated protocol buffer code.""" +import Context as context__pb2 +import ContextPlayerOptions as context__player__options__pb2 +import PlayOrigin as play__origin__pb2 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import Context as context__pb2 -import ContextPlayerOptions as context__player__options__pb2 -import PlayOrigin as play__origin__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='session.proto', - package='spotify.player.proto.transfer', - syntax='proto2', - serialized_options=b'\n\024com.spotify.transferH\002', + name="session.proto", + package="spotify.player.proto.transfer", + syntax="proto2", + serialized_options=b"\n\024com.spotify.transferH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\rsession.proto\x12\x1dspotify.player.proto.transfer\x1a\rcontext.proto\x1a\x1c\x63ontext_player_options.proto\x1a\x11play_origin.proto\"\xd3\x01\n\x07Session\x12\x35\n\x0bplay_origin\x18\x01 \x01(\x0b\x32 .spotify.player.proto.PlayOrigin\x12.\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x1d.spotify.player.proto.Context\x12\x13\n\x0b\x63urrent_uid\x18\x03 \x01(\t\x12L\n\x10option_overrides\x18\x04 \x01(\x0b\x32\x32.spotify.player.proto.ContextPlayerOptionOverridesB\x18\n\x14\x63om.spotify.transferH\x02', + b'\n\rsession.proto\x12\x1dspotify.player.proto.transfer\x1a\rcontext.proto\x1a\x1c\x63ontext_player_options.proto\x1a\x11play_origin.proto"\xd3\x01\n\x07Session\x12\x35\n\x0bplay_origin\x18\x01 \x01(\x0b\x32 .spotify.player.proto.PlayOrigin\x12.\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x1d.spotify.player.proto.Context\x12\x13\n\x0b\x63urrent_uid\x18\x03 \x01(\t\x12L\n\x10option_overrides\x18\x04 \x01(\x0b\x32\x32.spotify.player.proto.ContextPlayerOptionOverridesB\x18\n\x14\x63om.spotify.transferH\x02', dependencies=[ context__pb2.DESCRIPTOR, context__player__options__pb2.DESCRIPTOR, play__origin__pb2.DESCRIPTOR, - ]) + ], +) _SESSION = _descriptor.Descriptor( - name='Session', - full_name='spotify.player.proto.transfer.Session', + name="Session", + full_name="spotify.player.proto.transfer.Session", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='play_origin', - full_name='spotify.player.proto.transfer.Session.play_origin', + name="play_origin", + full_name="spotify.player.proto.transfer.Session.play_origin", index=0, number=1, type=11, @@ -53,10 +54,11 @@ _SESSION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='context', - full_name='spotify.player.proto.transfer.Session.context', + name="context", + full_name="spotify.player.proto.transfer.Session.context", index=1, number=2, type=11, @@ -71,17 +73,18 @@ _SESSION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='current_uid', - full_name='spotify.player.proto.transfer.Session.current_uid', + name="current_uid", + full_name="spotify.player.proto.transfer.Session.current_uid", index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -89,10 +92,11 @@ _SESSION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='option_overrides', - full_name='spotify.player.proto.transfer.Session.option_overrides', + name="option_overrides", + full_name="spotify.player.proto.transfer.Session.option_overrides", index=3, number=4, type=11, @@ -107,14 +111,15 @@ _SESSION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=113, @@ -122,21 +127,22 @@ _SESSION = _descriptor.Descriptor( ) _SESSION.fields_by_name[ - 'play_origin'].message_type = play__origin__pb2._PLAYORIGIN -_SESSION.fields_by_name['context'].message_type = context__pb2._CONTEXT + "play_origin"].message_type = play__origin__pb2._PLAYORIGIN +_SESSION.fields_by_name["context"].message_type = context__pb2._CONTEXT _SESSION.fields_by_name[ - 'option_overrides'].message_type = context__player__options__pb2._CONTEXTPLAYEROPTIONOVERRIDES -DESCRIPTOR.message_types_by_name['Session'] = _SESSION + "option_overrides"].message_type = context__player__options__pb2._CONTEXTPLAYEROPTIONOVERRIDES +DESCRIPTOR.message_types_by_name["Session"] = _SESSION _sym_db.RegisterFileDescriptor(DESCRIPTOR) Session = _reflection.GeneratedProtocolMessageType( - 'Session', + "Session", (_message.Message, ), { - 'DESCRIPTOR': _SESSION, - '__module__': 'session_pb2' + "DESCRIPTOR": _SESSION, + "__module__": "session_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.transfer.Session) - }) + }, +) _sym_db.RegisterMessage(Session) DESCRIPTOR._options = None diff --git a/librespot/proto/TransferState.py b/librespot/proto/TransferState.py index f42acfa..779f86d 100644 --- a/librespot/proto/TransferState.py +++ b/librespot/proto/TransferState.py @@ -2,45 +2,46 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: transfer_state.proto """Generated protocol buffer code.""" +import ContextPlayerOptions as context__player__options__pb2 +import Playback as playback__pb2 +import Queue as queue__pb2 +import Session as session__pb2 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import ContextPlayerOptions as context__player__options__pb2 -import Playback as playback__pb2 -import Session as session__pb2 -import Queue as queue__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='transfer_state.proto', - package='spotify.player.proto.transfer', - syntax='proto2', - serialized_options=b'\n\024com.spotify.transferH\002', + name="transfer_state.proto", + package="spotify.player.proto.transfer", + syntax="proto2", + serialized_options=b"\n\024com.spotify.transferH\002", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x14transfer_state.proto\x12\x1dspotify.player.proto.transfer\x1a\x1c\x63ontext_player_options.proto\x1a\x0eplayback.proto\x1a\rsession.proto\x1a\x0bqueue.proto\"\x99\x02\n\rTransferState\x12;\n\x07options\x18\x01 \x01(\x0b\x32*.spotify.player.proto.ContextPlayerOptions\x12\x39\n\x08playback\x18\x02 \x01(\x0b\x32\'.spotify.player.proto.transfer.Playback\x12?\n\x0f\x63urrent_session\x18\x03 \x01(\x0b\x32&.spotify.player.proto.transfer.Session\x12\x33\n\x05queue\x18\x04 \x01(\x0b\x32$.spotify.player.proto.transfer.Queue\x12\x1a\n\x12\x63reation_timestamp\x18\x05 \x01(\x03\x42\x18\n\x14\x63om.spotify.transferH\x02', + b"\n\x14transfer_state.proto\x12\x1dspotify.player.proto.transfer\x1a\x1c\x63ontext_player_options.proto\x1a\x0eplayback.proto\x1a\rsession.proto\x1a\x0bqueue.proto\"\x99\x02\n\rTransferState\x12;\n\x07options\x18\x01 \x01(\x0b\x32*.spotify.player.proto.ContextPlayerOptions\x12\x39\n\x08playback\x18\x02 \x01(\x0b\x32'.spotify.player.proto.transfer.Playback\x12?\n\x0f\x63urrent_session\x18\x03 \x01(\x0b\x32&.spotify.player.proto.transfer.Session\x12\x33\n\x05queue\x18\x04 \x01(\x0b\x32$.spotify.player.proto.transfer.Queue\x12\x1a\n\x12\x63reation_timestamp\x18\x05 \x01(\x03\x42\x18\n\x14\x63om.spotify.transferH\x02", dependencies=[ context__player__options__pb2.DESCRIPTOR, playback__pb2.DESCRIPTOR, session__pb2.DESCRIPTOR, queue__pb2.DESCRIPTOR, - ]) + ], +) _TRANSFERSTATE = _descriptor.Descriptor( - name='TransferState', - full_name='spotify.player.proto.transfer.TransferState', + name="TransferState", + full_name="spotify.player.proto.transfer.TransferState", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='options', - full_name='spotify.player.proto.transfer.TransferState.options', + name="options", + full_name="spotify.player.proto.transfer.TransferState.options", index=0, number=1, type=11, @@ -55,10 +56,11 @@ _TRANSFERSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='playback', - full_name='spotify.player.proto.transfer.TransferState.playback', + name="playback", + full_name="spotify.player.proto.transfer.TransferState.playback", index=1, number=2, type=11, @@ -73,11 +75,12 @@ _TRANSFERSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='current_session', + name="current_session", full_name= - 'spotify.player.proto.transfer.TransferState.current_session', + "spotify.player.proto.transfer.TransferState.current_session", index=2, number=3, type=11, @@ -92,10 +95,11 @@ _TRANSFERSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='queue', - full_name='spotify.player.proto.transfer.TransferState.queue', + name="queue", + full_name="spotify.player.proto.transfer.TransferState.queue", index=3, number=4, type=11, @@ -110,11 +114,12 @@ _TRANSFERSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='creation_timestamp', + name="creation_timestamp", full_name= - 'spotify.player.proto.transfer.TransferState.creation_timestamp', + "spotify.player.proto.transfer.TransferState.creation_timestamp", index=4, number=5, type=3, @@ -129,14 +134,15 @@ _TRANSFERSTATE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto2', + syntax="proto2", extension_ranges=[], oneofs=[], serialized_start=130, @@ -144,23 +150,24 @@ _TRANSFERSTATE = _descriptor.Descriptor( ) _TRANSFERSTATE.fields_by_name[ - 'options'].message_type = context__player__options__pb2._CONTEXTPLAYEROPTIONS + "options"].message_type = context__player__options__pb2._CONTEXTPLAYEROPTIONS _TRANSFERSTATE.fields_by_name[ - 'playback'].message_type = playback__pb2._PLAYBACK + "playback"].message_type = playback__pb2._PLAYBACK _TRANSFERSTATE.fields_by_name[ - 'current_session'].message_type = session__pb2._SESSION -_TRANSFERSTATE.fields_by_name['queue'].message_type = queue__pb2._QUEUE -DESCRIPTOR.message_types_by_name['TransferState'] = _TRANSFERSTATE + "current_session"].message_type = session__pb2._SESSION +_TRANSFERSTATE.fields_by_name["queue"].message_type = queue__pb2._QUEUE +DESCRIPTOR.message_types_by_name["TransferState"] = _TRANSFERSTATE _sym_db.RegisterFileDescriptor(DESCRIPTOR) TransferState = _reflection.GeneratedProtocolMessageType( - 'TransferState', + "TransferState", (_message.Message, ), { - 'DESCRIPTOR': _TRANSFERSTATE, - '__module__': 'transfer_state_pb2' + "DESCRIPTOR": _TRANSFERSTATE, + "__module__": "transfer_state_pb2" # @@protoc_insertion_point(class_scope:spotify.player.proto.transfer.TransferState) - }) + }, +) _sym_db.RegisterMessage(TransferState) DESCRIPTOR._options = None diff --git a/librespot/proto/spotify/login5/v3/ClientInfo.py b/librespot/proto/spotify/login5/v3/ClientInfo.py index f013e1c..81fc083 100644 --- a/librespot/proto/spotify/login5/v3/ClientInfo.py +++ b/librespot/proto/spotify/login5/v3/ClientInfo.py @@ -6,38 +6,39 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='spotify/login5/v3/client_info.proto', - package='spotify.login5.v3', - syntax='proto3', - serialized_options=b'\n\024com.spotify.login5v3', + name="spotify/login5/v3/client_info.proto", + package="spotify.login5.v3", + syntax="proto3", + serialized_options=b"\n\024com.spotify.login5v3", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n#spotify/login5/v3/client_info.proto\x12\x11spotify.login5.v3\"2\n\nClientInfo\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3' + b'\n#spotify/login5/v3/client_info.proto\x12\x11spotify.login5.v3"2\n\nClientInfo\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3', ) _CLIENTINFO = _descriptor.Descriptor( - name='ClientInfo', - full_name='spotify.login5.v3.ClientInfo', + name="ClientInfo", + full_name="spotify.login5.v3.ClientInfo", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='client_id', - full_name='spotify.login5.v3.ClientInfo.client_id', + name="client_id", + full_name="spotify.login5.v3.ClientInfo.client_id", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -45,17 +46,18 @@ _CLIENTINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='device_id', - full_name='spotify.login5.v3.ClientInfo.device_id', + name="device_id", + full_name="spotify.login5.v3.ClientInfo.device_id", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -63,31 +65,33 @@ _CLIENTINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=58, serialized_end=108, ) -DESCRIPTOR.message_types_by_name['ClientInfo'] = _CLIENTINFO +DESCRIPTOR.message_types_by_name["ClientInfo"] = _CLIENTINFO _sym_db.RegisterFileDescriptor(DESCRIPTOR) ClientInfo = _reflection.GeneratedProtocolMessageType( - 'ClientInfo', + "ClientInfo", (_message.Message, ), { - 'DESCRIPTOR': _CLIENTINFO, - '__module__': 'spotify.login5.v3.client_info_pb2' + "DESCRIPTOR": _CLIENTINFO, + "__module__": "spotify.login5.v3.client_info_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.ClientInfo) - }) + }, +) _sym_db.RegisterMessage(ClientInfo) DESCRIPTOR._options = None diff --git a/librespot/proto/spotify/login5/v3/Login5.py b/librespot/proto/spotify/login5/v3/Login5.py index 38f3aac..566aca9 100644 --- a/librespot/proto/spotify/login5/v3/Login5.py +++ b/librespot/proto/spotify/login5/v3/Login5.py @@ -2,30 +2,38 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! # source: spotify/login5/v3/login5.proto """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper 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 symbol_database as _symbol_database +from google.protobuf.internal import enum_type_wrapper +from spotify.login5.v3 import \ + client_info_pb2 as spotify_dot_login5_dot_v3_dot_client__info__pb2 +from spotify.login5.v3 import \ + user_info_pb2 as spotify_dot_login5_dot_v3_dot_user__info__pb2 +from spotify.login5.v3.challenges import \ + code_pb2 as spotify_dot_login5_dot_v3_dot_challenges_dot_code__pb2 +from spotify.login5.v3.challenges import \ + hashcash_pb2 as spotify_dot_login5_dot_v3_dot_challenges_dot_hashcash__pb2 +from spotify.login5.v3.credentials import \ + credentials_pb2 as \ + spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2 +from spotify.login5.v3.identifiers import \ + identifiers_pb2 as \ + spotify_dot_login5_dot_v3_dot_identifiers_dot_identifiers__pb2 + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -from spotify.login5.v3 import client_info_pb2 as spotify_dot_login5_dot_v3_dot_client__info__pb2 -from spotify.login5.v3 import user_info_pb2 as spotify_dot_login5_dot_v3_dot_user__info__pb2 -from spotify.login5.v3.challenges import code_pb2 as spotify_dot_login5_dot_v3_dot_challenges_dot_code__pb2 -from spotify.login5.v3.challenges import hashcash_pb2 as spotify_dot_login5_dot_v3_dot_challenges_dot_hashcash__pb2 -from spotify.login5.v3.credentials import credentials_pb2 as spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2 -from spotify.login5.v3.identifiers import identifiers_pb2 as spotify_dot_login5_dot_v3_dot_identifiers_dot_identifiers__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='spotify/login5/v3/login5.proto', - package='spotify.login5.v3', - syntax='proto3', - serialized_options=b'\n\024com.spotify.login5v3', + name="spotify/login5/v3/login5.proto", + package="spotify.login5.v3", + syntax="proto3", + serialized_options=b"\n\024com.spotify.login5v3", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\x1espotify/login5/v3/login5.proto\x12\x11spotify.login5.v3\x1a#spotify/login5/v3/client_info.proto\x1a!spotify/login5/v3/user_info.proto\x1a\'spotify/login5/v3/challenges/code.proto\x1a+spotify/login5/v3/challenges/hashcash.proto\x1a/spotify/login5/v3/credentials/credentials.proto\x1a/spotify/login5/v3/identifiers/identifiers.proto\">\n\nChallenges\x12\x30\n\nchallenges\x18\x01 \x03(\x0b\x32\x1c.spotify.login5.v3.Challenge\"\x89\x01\n\tChallenge\x12\x41\n\x08hashcash\x18\x01 \x01(\x0b\x32/.spotify.login5.v3.challenges.HashcashChallenge\x12\x39\n\x04\x63ode\x18\x02 \x01(\x0b\x32+.spotify.login5.v3.challenges.CodeChallenge\"M\n\x12\x43hallengeSolutions\x12\x37\n\tsolutions\x18\x01 \x03(\x0b\x32$.spotify.login5.v3.ChallengeSolution\"\x8f\x01\n\x11\x43hallengeSolution\x12@\n\x08hashcash\x18\x01 \x01(\x0b\x32..spotify.login5.v3.challenges.HashcashSolution\x12\x38\n\x04\x63ode\x18\x02 \x01(\x0b\x32*.spotify.login5.v3.challenges.CodeSolution\"\xad\x05\n\x0cLoginRequest\x12\x32\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x1d.spotify.login5.v3.ClientInfo\x12\x15\n\rlogin_context\x18\x02 \x01(\x0c\x12\x42\n\x13\x63hallenge_solutions\x18\x03 \x01(\x0b\x32%.spotify.login5.v3.ChallengeSolutions\x12J\n\x11stored_credential\x18\x64 \x01(\x0b\x32/.spotify.login5.v3.credentials.StoredCredential\x12\x39\n\x08password\x18\x65 \x01(\x0b\x32\'.spotify.login5.v3.credentials.Password\x12Q\n\x15\x66\x61\x63\x65\x62ook_access_token\x18\x66 \x01(\x0b\x32\x32.spotify.login5.v3.credentials.FacebookAccessToken\x12@\n\x0cphone_number\x18g \x01(\x0b\x32*.spotify.login5.v3.identifiers.PhoneNumber\x12\x43\n\x0eone_time_token\x18h \x01(\x0b\x32+.spotify.login5.v3.credentials.OneTimeToken\x12U\n\x17parent_child_credential\x18i \x01(\x0b\x32\x34.spotify.login5.v3.credentials.ParentChildCredential\x12V\n\x18\x61pple_sign_in_credential\x18j \x01(\x0b\x32\x34.spotify.login5.v3.credentials.AppleSignInCredential\"m\n\x07LoginOk\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x19\n\x11stored_credential\x18\x03 \x01(\x0c\x12\x1f\n\x17\x61\x63\x63\x65ss_token_expires_in\x18\x04 \x01(\x05\"\xf8\x02\n\rLoginResponse\x12&\n\x02ok\x18\x01 \x01(\x0b\x32\x1a.spotify.login5.v3.LoginOk\x12,\n\x05\x65rror\x18\x02 \x01(\x0e\x32\x1d.spotify.login5.v3.LoginError\x12\x31\n\nchallenges\x18\x03 \x01(\x0b\x32\x1d.spotify.login5.v3.Challenges\x12;\n\x08warnings\x18\x04 \x03(\x0e\x32).spotify.login5.v3.LoginResponse.Warnings\x12\x15\n\rlogin_context\x18\x05 \x01(\x0c\x12\x18\n\x10identifier_token\x18\x06 \x01(\t\x12.\n\tuser_info\x18\x07 \x01(\x0b\x32\x1b.spotify.login5.v3.UserInfo\"@\n\x08Warnings\x12\x13\n\x0fUNKNOWN_WARNING\x10\x00\x12\x1f\n\x1b\x44\x45PRECATED_PROTOCOL_VERSION\x10\x01*\xd3\x01\n\nLoginError\x12\x11\n\rUNKNOWN_ERROR\x10\x00\x12\x17\n\x13INVALID_CREDENTIALS\x10\x01\x12\x0f\n\x0b\x42\x41\x44_REQUEST\x10\x02\x12\x1e\n\x1aUNSUPPORTED_LOGIN_PROTOCOL\x10\x03\x12\x0b\n\x07TIMEOUT\x10\x04\x12\x16\n\x12UNKNOWN_IDENTIFIER\x10\x05\x12\x15\n\x11TOO_MANY_ATTEMPTS\x10\x06\x12\x17\n\x13INVALID_PHONENUMBER\x10\x07\x12\x13\n\x0fTRY_AGAIN_LATER\x10\x08\x42\x16\n\x14\x63om.spotify.login5v3b\x06proto3', + b'\n\x1espotify/login5/v3/login5.proto\x12\x11spotify.login5.v3\x1a#spotify/login5/v3/client_info.proto\x1a!spotify/login5/v3/user_info.proto\x1a\'spotify/login5/v3/challenges/code.proto\x1a+spotify/login5/v3/challenges/hashcash.proto\x1a/spotify/login5/v3/credentials/credentials.proto\x1a/spotify/login5/v3/identifiers/identifiers.proto">\n\nChallenges\x12\x30\n\nchallenges\x18\x01 \x03(\x0b\x32\x1c.spotify.login5.v3.Challenge"\x89\x01\n\tChallenge\x12\x41\n\x08hashcash\x18\x01 \x01(\x0b\x32/.spotify.login5.v3.challenges.HashcashChallenge\x12\x39\n\x04\x63ode\x18\x02 \x01(\x0b\x32+.spotify.login5.v3.challenges.CodeChallenge"M\n\x12\x43hallengeSolutions\x12\x37\n\tsolutions\x18\x01 \x03(\x0b\x32$.spotify.login5.v3.ChallengeSolution"\x8f\x01\n\x11\x43hallengeSolution\x12@\n\x08hashcash\x18\x01 \x01(\x0b\x32..spotify.login5.v3.challenges.HashcashSolution\x12\x38\n\x04\x63ode\x18\x02 \x01(\x0b\x32*.spotify.login5.v3.challenges.CodeSolution"\xad\x05\n\x0cLoginRequest\x12\x32\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x1d.spotify.login5.v3.ClientInfo\x12\x15\n\rlogin_context\x18\x02 \x01(\x0c\x12\x42\n\x13\x63hallenge_solutions\x18\x03 \x01(\x0b\x32%.spotify.login5.v3.ChallengeSolutions\x12J\n\x11stored_credential\x18\x64 \x01(\x0b\x32/.spotify.login5.v3.credentials.StoredCredential\x12\x39\n\x08password\x18\x65 \x01(\x0b\x32\'.spotify.login5.v3.credentials.Password\x12Q\n\x15\x66\x61\x63\x65\x62ook_access_token\x18\x66 \x01(\x0b\x32\x32.spotify.login5.v3.credentials.FacebookAccessToken\x12@\n\x0cphone_number\x18g \x01(\x0b\x32*.spotify.login5.v3.identifiers.PhoneNumber\x12\x43\n\x0eone_time_token\x18h \x01(\x0b\x32+.spotify.login5.v3.credentials.OneTimeToken\x12U\n\x17parent_child_credential\x18i \x01(\x0b\x32\x34.spotify.login5.v3.credentials.ParentChildCredential\x12V\n\x18\x61pple_sign_in_credential\x18j \x01(\x0b\x32\x34.spotify.login5.v3.credentials.AppleSignInCredential"m\n\x07LoginOk\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\x12\x19\n\x11stored_credential\x18\x03 \x01(\x0c\x12\x1f\n\x17\x61\x63\x63\x65ss_token_expires_in\x18\x04 \x01(\x05"\xf8\x02\n\rLoginResponse\x12&\n\x02ok\x18\x01 \x01(\x0b\x32\x1a.spotify.login5.v3.LoginOk\x12,\n\x05\x65rror\x18\x02 \x01(\x0e\x32\x1d.spotify.login5.v3.LoginError\x12\x31\n\nchallenges\x18\x03 \x01(\x0b\x32\x1d.spotify.login5.v3.Challenges\x12;\n\x08warnings\x18\x04 \x03(\x0e\x32).spotify.login5.v3.LoginResponse.Warnings\x12\x15\n\rlogin_context\x18\x05 \x01(\x0c\x12\x18\n\x10identifier_token\x18\x06 \x01(\t\x12.\n\tuser_info\x18\x07 \x01(\x0b\x32\x1b.spotify.login5.v3.UserInfo"@\n\x08Warnings\x12\x13\n\x0fUNKNOWN_WARNING\x10\x00\x12\x1f\n\x1b\x44\x45PRECATED_PROTOCOL_VERSION\x10\x01*\xd3\x01\n\nLoginError\x12\x11\n\rUNKNOWN_ERROR\x10\x00\x12\x17\n\x13INVALID_CREDENTIALS\x10\x01\x12\x0f\n\x0b\x42\x41\x44_REQUEST\x10\x02\x12\x1e\n\x1aUNSUPPORTED_LOGIN_PROTOCOL\x10\x03\x12\x0b\n\x07TIMEOUT\x10\x04\x12\x16\n\x12UNKNOWN_IDENTIFIER\x10\x05\x12\x15\n\x11TOO_MANY_ATTEMPTS\x10\x06\x12\x17\n\x13INVALID_PHONENUMBER\x10\x07\x12\x13\n\x0fTRY_AGAIN_LATER\x10\x08\x42\x16\n\x14\x63om.spotify.login5v3b\x06proto3', dependencies=[ spotify_dot_login5_dot_v3_dot_client__info__pb2.DESCRIPTOR, spotify_dot_login5_dot_v3_dot_user__info__pb2.DESCRIPTOR, @@ -35,78 +43,88 @@ DESCRIPTOR = _descriptor.FileDescriptor( DESCRIPTOR, spotify_dot_login5_dot_v3_dot_identifiers_dot_identifiers__pb2. DESCRIPTOR, - ]) + ], +) _LOGINERROR = _descriptor.EnumDescriptor( - name='LoginError', - full_name='spotify.login5.v3.LoginError', + name="LoginError", + full_name="spotify.login5.v3.LoginError", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='UNKNOWN_ERROR', + name="UNKNOWN_ERROR", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='INVALID_CREDENTIALS', + name="INVALID_CREDENTIALS", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='BAD_REQUEST', + name="BAD_REQUEST", index=2, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='UNSUPPORTED_LOGIN_PROTOCOL', + name="UNSUPPORTED_LOGIN_PROTOCOL", index=3, number=3, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='TIMEOUT', + name="TIMEOUT", index=4, number=4, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='UNKNOWN_IDENTIFIER', + name="UNKNOWN_IDENTIFIER", index=5, number=5, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='TOO_MANY_ATTEMPTS', + name="TOO_MANY_ATTEMPTS", index=6, number=6, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='INVALID_PHONENUMBER', + name="INVALID_PHONENUMBER", index=7, number=7, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='TRY_AGAIN_LATER', + name="TRY_AGAIN_LATER", index=8, number=8, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -127,26 +145,28 @@ INVALID_PHONENUMBER = 7 TRY_AGAIN_LATER = 8 _LOGINRESPONSE_WARNINGS = _descriptor.EnumDescriptor( - name='Warnings', - full_name='spotify.login5.v3.LoginResponse.Warnings', + name="Warnings", + full_name="spotify.login5.v3.LoginResponse.Warnings", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='UNKNOWN_WARNING', + name="UNKNOWN_WARNING", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='DEPRECATED_PROTOCOL_VERSION', + name="DEPRECATED_PROTOCOL_VERSION", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -156,16 +176,16 @@ _LOGINRESPONSE_WARNINGS = _descriptor.EnumDescriptor( _sym_db.RegisterEnumDescriptor(_LOGINRESPONSE_WARNINGS) _CHALLENGES = _descriptor.Descriptor( - name='Challenges', - full_name='spotify.login5.v3.Challenges', + name="Challenges", + full_name="spotify.login5.v3.Challenges", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='challenges', - full_name='spotify.login5.v3.Challenges.challenges', + name="challenges", + full_name="spotify.login5.v3.Challenges.challenges", index=0, number=1, type=11, @@ -180,14 +200,15 @@ _CHALLENGES = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=309, @@ -195,16 +216,16 @@ _CHALLENGES = _descriptor.Descriptor( ) _CHALLENGE = _descriptor.Descriptor( - name='Challenge', - full_name='spotify.login5.v3.Challenge', + name="Challenge", + full_name="spotify.login5.v3.Challenge", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='hashcash', - full_name='spotify.login5.v3.Challenge.hashcash', + name="hashcash", + full_name="spotify.login5.v3.Challenge.hashcash", index=0, number=1, type=11, @@ -219,10 +240,11 @@ _CHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='code', - full_name='spotify.login5.v3.Challenge.code', + name="code", + full_name="spotify.login5.v3.Challenge.code", index=1, number=2, type=11, @@ -237,14 +259,15 @@ _CHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=374, @@ -252,16 +275,16 @@ _CHALLENGE = _descriptor.Descriptor( ) _CHALLENGESOLUTIONS = _descriptor.Descriptor( - name='ChallengeSolutions', - full_name='spotify.login5.v3.ChallengeSolutions', + name="ChallengeSolutions", + full_name="spotify.login5.v3.ChallengeSolutions", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='solutions', - full_name='spotify.login5.v3.ChallengeSolutions.solutions', + name="solutions", + full_name="spotify.login5.v3.ChallengeSolutions.solutions", index=0, number=1, type=11, @@ -276,14 +299,15 @@ _CHALLENGESOLUTIONS = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=513, @@ -291,16 +315,16 @@ _CHALLENGESOLUTIONS = _descriptor.Descriptor( ) _CHALLENGESOLUTION = _descriptor.Descriptor( - name='ChallengeSolution', - full_name='spotify.login5.v3.ChallengeSolution', + name="ChallengeSolution", + full_name="spotify.login5.v3.ChallengeSolution", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='hashcash', - full_name='spotify.login5.v3.ChallengeSolution.hashcash', + name="hashcash", + full_name="spotify.login5.v3.ChallengeSolution.hashcash", index=0, number=1, type=11, @@ -315,10 +339,11 @@ _CHALLENGESOLUTION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='code', - full_name='spotify.login5.v3.ChallengeSolution.code', + name="code", + full_name="spotify.login5.v3.ChallengeSolution.code", index=1, number=2, type=11, @@ -333,14 +358,15 @@ _CHALLENGESOLUTION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=593, @@ -348,16 +374,16 @@ _CHALLENGESOLUTION = _descriptor.Descriptor( ) _LOGINREQUEST = _descriptor.Descriptor( - name='LoginRequest', - full_name='spotify.login5.v3.LoginRequest', + name="LoginRequest", + full_name="spotify.login5.v3.LoginRequest", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='client_info', - full_name='spotify.login5.v3.LoginRequest.client_info', + name="client_info", + full_name="spotify.login5.v3.LoginRequest.client_info", index=0, number=1, type=11, @@ -372,10 +398,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='login_context', - full_name='spotify.login5.v3.LoginRequest.login_context', + name="login_context", + full_name="spotify.login5.v3.LoginRequest.login_context", index=1, number=2, type=12, @@ -390,10 +417,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='challenge_solutions', - full_name='spotify.login5.v3.LoginRequest.challenge_solutions', + name="challenge_solutions", + full_name="spotify.login5.v3.LoginRequest.challenge_solutions", index=2, number=3, type=11, @@ -408,10 +436,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='stored_credential', - full_name='spotify.login5.v3.LoginRequest.stored_credential', + name="stored_credential", + full_name="spotify.login5.v3.LoginRequest.stored_credential", index=3, number=100, type=11, @@ -426,10 +455,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='password', - full_name='spotify.login5.v3.LoginRequest.password', + name="password", + full_name="spotify.login5.v3.LoginRequest.password", index=4, number=101, type=11, @@ -444,10 +474,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='facebook_access_token', - full_name='spotify.login5.v3.LoginRequest.facebook_access_token', + name="facebook_access_token", + full_name="spotify.login5.v3.LoginRequest.facebook_access_token", index=5, number=102, type=11, @@ -462,10 +493,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='phone_number', - full_name='spotify.login5.v3.LoginRequest.phone_number', + name="phone_number", + full_name="spotify.login5.v3.LoginRequest.phone_number", index=6, number=103, type=11, @@ -480,10 +512,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='one_time_token', - full_name='spotify.login5.v3.LoginRequest.one_time_token', + name="one_time_token", + full_name="spotify.login5.v3.LoginRequest.one_time_token", index=7, number=104, type=11, @@ -498,10 +531,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='parent_child_credential', - full_name='spotify.login5.v3.LoginRequest.parent_child_credential', + name="parent_child_credential", + full_name="spotify.login5.v3.LoginRequest.parent_child_credential", index=8, number=105, type=11, @@ -516,10 +550,11 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='apple_sign_in_credential', - full_name='spotify.login5.v3.LoginRequest.apple_sign_in_credential', + name="apple_sign_in_credential", + full_name="spotify.login5.v3.LoginRequest.apple_sign_in_credential", index=9, number=106, type=11, @@ -534,14 +569,15 @@ _LOGINREQUEST = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=739, @@ -549,23 +585,23 @@ _LOGINREQUEST = _descriptor.Descriptor( ) _LOGINOK = _descriptor.Descriptor( - name='LoginOk', - full_name='spotify.login5.v3.LoginOk', + name="LoginOk", + full_name="spotify.login5.v3.LoginOk", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='username', - full_name='spotify.login5.v3.LoginOk.username', + name="username", + full_name="spotify.login5.v3.LoginOk.username", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -573,17 +609,18 @@ _LOGINOK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='access_token', - full_name='spotify.login5.v3.LoginOk.access_token', + name="access_token", + full_name="spotify.login5.v3.LoginOk.access_token", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -591,10 +628,11 @@ _LOGINOK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='stored_credential', - full_name='spotify.login5.v3.LoginOk.stored_credential', + name="stored_credential", + full_name="spotify.login5.v3.LoginOk.stored_credential", index=2, number=3, type=12, @@ -609,10 +647,11 @@ _LOGINOK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='access_token_expires_in', - full_name='spotify.login5.v3.LoginOk.access_token_expires_in', + name="access_token_expires_in", + full_name="spotify.login5.v3.LoginOk.access_token_expires_in", index=3, number=4, type=5, @@ -627,14 +666,15 @@ _LOGINOK = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=1426, @@ -642,16 +682,16 @@ _LOGINOK = _descriptor.Descriptor( ) _LOGINRESPONSE = _descriptor.Descriptor( - name='LoginResponse', - full_name='spotify.login5.v3.LoginResponse', + name="LoginResponse", + full_name="spotify.login5.v3.LoginResponse", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='ok', - full_name='spotify.login5.v3.LoginResponse.ok', + name="ok", + full_name="spotify.login5.v3.LoginResponse.ok", index=0, number=1, type=11, @@ -666,10 +706,11 @@ _LOGINRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='error', - full_name='spotify.login5.v3.LoginResponse.error', + name="error", + full_name="spotify.login5.v3.LoginResponse.error", index=1, number=2, type=14, @@ -684,10 +725,11 @@ _LOGINRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='challenges', - full_name='spotify.login5.v3.LoginResponse.challenges', + name="challenges", + full_name="spotify.login5.v3.LoginResponse.challenges", index=2, number=3, type=11, @@ -702,10 +744,11 @@ _LOGINRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='warnings', - full_name='spotify.login5.v3.LoginResponse.warnings', + name="warnings", + full_name="spotify.login5.v3.LoginResponse.warnings", index=3, number=4, type=14, @@ -720,10 +763,11 @@ _LOGINRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='login_context', - full_name='spotify.login5.v3.LoginResponse.login_context', + name="login_context", + full_name="spotify.login5.v3.LoginResponse.login_context", index=4, number=5, type=12, @@ -738,17 +782,18 @@ _LOGINRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='identifier_token', - full_name='spotify.login5.v3.LoginResponse.identifier_token', + name="identifier_token", + full_name="spotify.login5.v3.LoginResponse.identifier_token", index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -756,10 +801,11 @@ _LOGINRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='user_info', - full_name='spotify.login5.v3.LoginResponse.user_info', + name="user_info", + full_name="spotify.login5.v3.LoginResponse.user_info", index=6, number=7, type=11, @@ -774,7 +820,8 @@ _LOGINRESPONSE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], @@ -783,127 +830,142 @@ _LOGINRESPONSE = _descriptor.Descriptor( ], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=1538, serialized_end=1914, ) -_CHALLENGES.fields_by_name['challenges'].message_type = _CHALLENGE +_CHALLENGES.fields_by_name["challenges"].message_type = _CHALLENGE +_CHALLENGE.fields_by_name["hashcash"].message_type = ( + spotify_dot_login5_dot_v3_dot_challenges_dot_hashcash__pb2. + _HASHCASHCHALLENGE) _CHALLENGE.fields_by_name[ - 'hashcash'].message_type = spotify_dot_login5_dot_v3_dot_challenges_dot_hashcash__pb2._HASHCASHCHALLENGE -_CHALLENGE.fields_by_name[ - 'code'].message_type = spotify_dot_login5_dot_v3_dot_challenges_dot_code__pb2._CODECHALLENGE + "code"].message_type = spotify_dot_login5_dot_v3_dot_challenges_dot_code__pb2._CODECHALLENGE _CHALLENGESOLUTIONS.fields_by_name[ - 'solutions'].message_type = _CHALLENGESOLUTION + "solutions"].message_type = _CHALLENGESOLUTION +_CHALLENGESOLUTION.fields_by_name["hashcash"].message_type = ( + spotify_dot_login5_dot_v3_dot_challenges_dot_hashcash__pb2. + _HASHCASHSOLUTION) _CHALLENGESOLUTION.fields_by_name[ - 'hashcash'].message_type = spotify_dot_login5_dot_v3_dot_challenges_dot_hashcash__pb2._HASHCASHSOLUTION -_CHALLENGESOLUTION.fields_by_name[ - 'code'].message_type = spotify_dot_login5_dot_v3_dot_challenges_dot_code__pb2._CODESOLUTION + "code"].message_type = spotify_dot_login5_dot_v3_dot_challenges_dot_code__pb2._CODESOLUTION _LOGINREQUEST.fields_by_name[ - 'client_info'].message_type = spotify_dot_login5_dot_v3_dot_client__info__pb2._CLIENTINFO + "client_info"].message_type = spotify_dot_login5_dot_v3_dot_client__info__pb2._CLIENTINFO _LOGINREQUEST.fields_by_name[ - 'challenge_solutions'].message_type = _CHALLENGESOLUTIONS -_LOGINREQUEST.fields_by_name[ - 'stored_credential'].message_type = spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2._STOREDCREDENTIAL -_LOGINREQUEST.fields_by_name[ - 'password'].message_type = spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2._PASSWORD -_LOGINREQUEST.fields_by_name[ - 'facebook_access_token'].message_type = spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2._FACEBOOKACCESSTOKEN -_LOGINREQUEST.fields_by_name[ - 'phone_number'].message_type = spotify_dot_login5_dot_v3_dot_identifiers_dot_identifiers__pb2._PHONENUMBER -_LOGINREQUEST.fields_by_name[ - 'one_time_token'].message_type = spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2._ONETIMETOKEN -_LOGINREQUEST.fields_by_name[ - 'parent_child_credential'].message_type = spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2._PARENTCHILDCREDENTIAL -_LOGINREQUEST.fields_by_name[ - 'apple_sign_in_credential'].message_type = spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2._APPLESIGNINCREDENTIAL -_LOGINRESPONSE.fields_by_name['ok'].message_type = _LOGINOK -_LOGINRESPONSE.fields_by_name['error'].enum_type = _LOGINERROR -_LOGINRESPONSE.fields_by_name['challenges'].message_type = _CHALLENGES -_LOGINRESPONSE.fields_by_name['warnings'].enum_type = _LOGINRESPONSE_WARNINGS + "challenge_solutions"].message_type = _CHALLENGESOLUTIONS +_LOGINREQUEST.fields_by_name["stored_credential"].message_type = ( + spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2. + _STOREDCREDENTIAL) +_LOGINREQUEST.fields_by_name["password"].message_type = ( + spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2._PASSWORD) +_LOGINREQUEST.fields_by_name["facebook_access_token"].message_type = ( + spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2. + _FACEBOOKACCESSTOKEN) +_LOGINREQUEST.fields_by_name["phone_number"].message_type = ( + spotify_dot_login5_dot_v3_dot_identifiers_dot_identifiers__pb2._PHONENUMBER +) +_LOGINREQUEST.fields_by_name["one_time_token"].message_type = ( + spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2. + _ONETIMETOKEN) +_LOGINREQUEST.fields_by_name["parent_child_credential"].message_type = ( + spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2. + _PARENTCHILDCREDENTIAL) +_LOGINREQUEST.fields_by_name["apple_sign_in_credential"].message_type = ( + spotify_dot_login5_dot_v3_dot_credentials_dot_credentials__pb2. + _APPLESIGNINCREDENTIAL) +_LOGINRESPONSE.fields_by_name["ok"].message_type = _LOGINOK +_LOGINRESPONSE.fields_by_name["error"].enum_type = _LOGINERROR +_LOGINRESPONSE.fields_by_name["challenges"].message_type = _CHALLENGES +_LOGINRESPONSE.fields_by_name["warnings"].enum_type = _LOGINRESPONSE_WARNINGS _LOGINRESPONSE.fields_by_name[ - 'user_info'].message_type = spotify_dot_login5_dot_v3_dot_user__info__pb2._USERINFO + "user_info"].message_type = spotify_dot_login5_dot_v3_dot_user__info__pb2._USERINFO _LOGINRESPONSE_WARNINGS.containing_type = _LOGINRESPONSE -DESCRIPTOR.message_types_by_name['Challenges'] = _CHALLENGES -DESCRIPTOR.message_types_by_name['Challenge'] = _CHALLENGE -DESCRIPTOR.message_types_by_name['ChallengeSolutions'] = _CHALLENGESOLUTIONS -DESCRIPTOR.message_types_by_name['ChallengeSolution'] = _CHALLENGESOLUTION -DESCRIPTOR.message_types_by_name['LoginRequest'] = _LOGINREQUEST -DESCRIPTOR.message_types_by_name['LoginOk'] = _LOGINOK -DESCRIPTOR.message_types_by_name['LoginResponse'] = _LOGINRESPONSE -DESCRIPTOR.enum_types_by_name['LoginError'] = _LOGINERROR +DESCRIPTOR.message_types_by_name["Challenges"] = _CHALLENGES +DESCRIPTOR.message_types_by_name["Challenge"] = _CHALLENGE +DESCRIPTOR.message_types_by_name["ChallengeSolutions"] = _CHALLENGESOLUTIONS +DESCRIPTOR.message_types_by_name["ChallengeSolution"] = _CHALLENGESOLUTION +DESCRIPTOR.message_types_by_name["LoginRequest"] = _LOGINREQUEST +DESCRIPTOR.message_types_by_name["LoginOk"] = _LOGINOK +DESCRIPTOR.message_types_by_name["LoginResponse"] = _LOGINRESPONSE +DESCRIPTOR.enum_types_by_name["LoginError"] = _LOGINERROR _sym_db.RegisterFileDescriptor(DESCRIPTOR) Challenges = _reflection.GeneratedProtocolMessageType( - 'Challenges', + "Challenges", (_message.Message, ), { - 'DESCRIPTOR': _CHALLENGES, - '__module__': 'spotify.login5.v3.login5_pb2' + "DESCRIPTOR": _CHALLENGES, + "__module__": "spotify.login5.v3.login5_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.Challenges) - }) + }, +) _sym_db.RegisterMessage(Challenges) Challenge = _reflection.GeneratedProtocolMessageType( - 'Challenge', + "Challenge", (_message.Message, ), { - 'DESCRIPTOR': _CHALLENGE, - '__module__': 'spotify.login5.v3.login5_pb2' + "DESCRIPTOR": _CHALLENGE, + "__module__": "spotify.login5.v3.login5_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.Challenge) - }) + }, +) _sym_db.RegisterMessage(Challenge) ChallengeSolutions = _reflection.GeneratedProtocolMessageType( - 'ChallengeSolutions', + "ChallengeSolutions", (_message.Message, ), { - 'DESCRIPTOR': _CHALLENGESOLUTIONS, - '__module__': 'spotify.login5.v3.login5_pb2' + "DESCRIPTOR": _CHALLENGESOLUTIONS, + "__module__": "spotify.login5.v3.login5_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.ChallengeSolutions) - }) + }, +) _sym_db.RegisterMessage(ChallengeSolutions) ChallengeSolution = _reflection.GeneratedProtocolMessageType( - 'ChallengeSolution', + "ChallengeSolution", (_message.Message, ), { - 'DESCRIPTOR': _CHALLENGESOLUTION, - '__module__': 'spotify.login5.v3.login5_pb2' + "DESCRIPTOR": _CHALLENGESOLUTION, + "__module__": "spotify.login5.v3.login5_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.ChallengeSolution) - }) + }, +) _sym_db.RegisterMessage(ChallengeSolution) LoginRequest = _reflection.GeneratedProtocolMessageType( - 'LoginRequest', + "LoginRequest", (_message.Message, ), { - 'DESCRIPTOR': _LOGINREQUEST, - '__module__': 'spotify.login5.v3.login5_pb2' + "DESCRIPTOR": _LOGINREQUEST, + "__module__": "spotify.login5.v3.login5_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.LoginRequest) - }) + }, +) _sym_db.RegisterMessage(LoginRequest) LoginOk = _reflection.GeneratedProtocolMessageType( - 'LoginOk', + "LoginOk", (_message.Message, ), { - 'DESCRIPTOR': _LOGINOK, - '__module__': 'spotify.login5.v3.login5_pb2' + "DESCRIPTOR": _LOGINOK, + "__module__": "spotify.login5.v3.login5_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.LoginOk) - }) + }, +) _sym_db.RegisterMessage(LoginOk) LoginResponse = _reflection.GeneratedProtocolMessageType( - 'LoginResponse', + "LoginResponse", (_message.Message, ), { - 'DESCRIPTOR': _LOGINRESPONSE, - '__module__': 'spotify.login5.v3.login5_pb2' + "DESCRIPTOR": _LOGINRESPONSE, + "__module__": "spotify.login5.v3.login5_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.LoginResponse) - }) + }, +) _sym_db.RegisterMessage(LoginResponse) DESCRIPTOR._options = None diff --git a/librespot/proto/spotify/login5/v3/UserInfo.py b/librespot/proto/spotify/login5/v3/UserInfo.py index 85ee0d9..99f9235 100644 --- a/librespot/proto/spotify/login5/v3/UserInfo.py +++ b/librespot/proto/spotify/login5/v3/UserInfo.py @@ -6,55 +6,60 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='spotify/login5/v3/user_info.proto', - package='spotify.login5.v3', - syntax='proto3', - serialized_options=b'\n\024com.spotify.login5v3', + name="spotify/login5/v3/user_info.proto", + package="spotify.login5.v3", + syntax="proto3", + serialized_options=b"\n\024com.spotify.login5v3", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n!spotify/login5/v3/user_info.proto\x12\x11spotify.login5.v3\"\x97\x02\n\x08UserInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x16\n\x0e\x65mail_verified\x18\x03 \x01(\x08\x12\x11\n\tbirthdate\x18\x04 \x01(\t\x12\x32\n\x06gender\x18\x05 \x01(\x0e\x32\".spotify.login5.v3.UserInfo.Gender\x12\x14\n\x0cphone_number\x18\x06 \x01(\t\x12\x1d\n\x15phone_number_verified\x18\x07 \x01(\x08\x12 \n\x18\x65mail_already_registered\x18\x08 \x01(\x08\"8\n\x06Gender\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04MALE\x10\x01\x12\n\n\x06\x46\x45MALE\x10\x02\x12\x0b\n\x07NEUTRAL\x10\x03\x42\x16\n\x14\x63om.spotify.login5v3b\x06proto3' + b'\n!spotify/login5/v3/user_info.proto\x12\x11spotify.login5.v3"\x97\x02\n\x08UserInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x16\n\x0e\x65mail_verified\x18\x03 \x01(\x08\x12\x11\n\tbirthdate\x18\x04 \x01(\t\x12\x32\n\x06gender\x18\x05 \x01(\x0e\x32".spotify.login5.v3.UserInfo.Gender\x12\x14\n\x0cphone_number\x18\x06 \x01(\t\x12\x1d\n\x15phone_number_verified\x18\x07 \x01(\x08\x12 \n\x18\x65mail_already_registered\x18\x08 \x01(\x08"8\n\x06Gender\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04MALE\x10\x01\x12\n\n\x06\x46\x45MALE\x10\x02\x12\x0b\n\x07NEUTRAL\x10\x03\x42\x16\n\x14\x63om.spotify.login5v3b\x06proto3', ) _USERINFO_GENDER = _descriptor.EnumDescriptor( - name='Gender', - full_name='spotify.login5.v3.UserInfo.Gender', + name="Gender", + full_name="spotify.login5.v3.UserInfo.Gender", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='UNKNOWN', + name="UNKNOWN", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='MALE', + name="MALE", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='FEMALE', + name="FEMALE", index=2, number=2, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='NEUTRAL', + name="NEUTRAL", index=3, number=3, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -64,23 +69,23 @@ _USERINFO_GENDER = _descriptor.EnumDescriptor( _sym_db.RegisterEnumDescriptor(_USERINFO_GENDER) _USERINFO = _descriptor.Descriptor( - name='UserInfo', - full_name='spotify.login5.v3.UserInfo', + name="UserInfo", + full_name="spotify.login5.v3.UserInfo", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='name', - full_name='spotify.login5.v3.UserInfo.name', + name="name", + full_name="spotify.login5.v3.UserInfo.name", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -88,17 +93,18 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='email', - full_name='spotify.login5.v3.UserInfo.email', + name="email", + full_name="spotify.login5.v3.UserInfo.email", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -106,10 +112,11 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='email_verified', - full_name='spotify.login5.v3.UserInfo.email_verified', + name="email_verified", + full_name="spotify.login5.v3.UserInfo.email_verified", index=2, number=3, type=8, @@ -124,17 +131,18 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='birthdate', - full_name='spotify.login5.v3.UserInfo.birthdate', + name="birthdate", + full_name="spotify.login5.v3.UserInfo.birthdate", index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -142,10 +150,11 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='gender', - full_name='spotify.login5.v3.UserInfo.gender', + name="gender", + full_name="spotify.login5.v3.UserInfo.gender", index=4, number=5, type=14, @@ -160,17 +169,18 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='phone_number', - full_name='spotify.login5.v3.UserInfo.phone_number', + name="phone_number", + full_name="spotify.login5.v3.UserInfo.phone_number", index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -178,10 +188,11 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='phone_number_verified', - full_name='spotify.login5.v3.UserInfo.phone_number_verified', + name="phone_number_verified", + full_name="spotify.login5.v3.UserInfo.phone_number_verified", index=6, number=7, type=8, @@ -196,10 +207,11 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='email_already_registered', - full_name='spotify.login5.v3.UserInfo.email_already_registered', + name="email_already_registered", + full_name="spotify.login5.v3.UserInfo.email_already_registered", index=7, number=8, type=8, @@ -214,7 +226,8 @@ _USERINFO = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], @@ -223,26 +236,27 @@ _USERINFO = _descriptor.Descriptor( ], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=57, serialized_end=336, ) -_USERINFO.fields_by_name['gender'].enum_type = _USERINFO_GENDER +_USERINFO.fields_by_name["gender"].enum_type = _USERINFO_GENDER _USERINFO_GENDER.containing_type = _USERINFO -DESCRIPTOR.message_types_by_name['UserInfo'] = _USERINFO +DESCRIPTOR.message_types_by_name["UserInfo"] = _USERINFO _sym_db.RegisterFileDescriptor(DESCRIPTOR) UserInfo = _reflection.GeneratedProtocolMessageType( - 'UserInfo', + "UserInfo", (_message.Message, ), { - 'DESCRIPTOR': _USERINFO, - '__module__': 'spotify.login5.v3.user_info_pb2' + "DESCRIPTOR": _USERINFO, + "__module__": "spotify.login5.v3.user_info_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.UserInfo) - }) + }, +) _sym_db.RegisterMessage(UserInfo) DESCRIPTOR._options = None diff --git a/librespot/proto/spotify/login5/v3/challenges/Code.py b/librespot/proto/spotify/login5/v3/challenges/Code.py index b5db3d2..03dca14 100644 --- a/librespot/proto/spotify/login5/v3/challenges/Code.py +++ b/librespot/proto/spotify/login5/v3/challenges/Code.py @@ -6,41 +6,44 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='spotify/login5/v3/challenges/code.proto', - package='spotify.login5.v3.challenges', - syntax='proto3', - serialized_options=b'\n\024com.spotify.login5v3', + name="spotify/login5/v3/challenges/code.proto", + package="spotify.login5.v3.challenges", + syntax="proto3", + serialized_options=b"\n\024com.spotify.login5v3", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n\'spotify/login5/v3/challenges/code.proto\x12\x1cspotify.login5.v3.challenges\"\xbc\x01\n\rCodeChallenge\x12\x42\n\x06method\x18\x01 \x01(\x0e\x32\x32.spotify.login5.v3.challenges.CodeChallenge.Method\x12\x13\n\x0b\x63ode_length\x18\x02 \x01(\x05\x12\x12\n\nexpires_in\x18\x03 \x01(\x05\x12\x1e\n\x16\x63\x61nonical_phone_number\x18\x04 \x01(\t\"\x1e\n\x06Method\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03SMS\x10\x01\"\x1c\n\x0c\x43odeSolution\x12\x0c\n\x04\x63ode\x18\x01 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3' + b'\n\'spotify/login5/v3/challenges/code.proto\x12\x1cspotify.login5.v3.challenges"\xbc\x01\n\rCodeChallenge\x12\x42\n\x06method\x18\x01 \x01(\x0e\x32\x32.spotify.login5.v3.challenges.CodeChallenge.Method\x12\x13\n\x0b\x63ode_length\x18\x02 \x01(\x05\x12\x12\n\nexpires_in\x18\x03 \x01(\x05\x12\x1e\n\x16\x63\x61nonical_phone_number\x18\x04 \x01(\t"\x1e\n\x06Method\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03SMS\x10\x01"\x1c\n\x0c\x43odeSolution\x12\x0c\n\x04\x63ode\x18\x01 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3', ) _CODECHALLENGE_METHOD = _descriptor.EnumDescriptor( - name='Method', - full_name='spotify.login5.v3.challenges.CodeChallenge.Method', + name="Method", + full_name="spotify.login5.v3.challenges.CodeChallenge.Method", filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='UNKNOWN', + name="UNKNOWN", index=0, number=0, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.EnumValueDescriptor( - name='SMS', + name="SMS", index=1, number=1, serialized_options=None, type=None, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], containing_type=None, serialized_options=None, @@ -50,16 +53,16 @@ _CODECHALLENGE_METHOD = _descriptor.EnumDescriptor( _sym_db.RegisterEnumDescriptor(_CODECHALLENGE_METHOD) _CODECHALLENGE = _descriptor.Descriptor( - name='CodeChallenge', - full_name='spotify.login5.v3.challenges.CodeChallenge', + name="CodeChallenge", + full_name="spotify.login5.v3.challenges.CodeChallenge", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='method', - full_name='spotify.login5.v3.challenges.CodeChallenge.method', + name="method", + full_name="spotify.login5.v3.challenges.CodeChallenge.method", index=0, number=1, type=14, @@ -74,10 +77,11 @@ _CODECHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='code_length', - full_name='spotify.login5.v3.challenges.CodeChallenge.code_length', + name="code_length", + full_name="spotify.login5.v3.challenges.CodeChallenge.code_length", index=1, number=2, type=5, @@ -92,10 +96,11 @@ _CODECHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='expires_in', - full_name='spotify.login5.v3.challenges.CodeChallenge.expires_in', + name="expires_in", + full_name="spotify.login5.v3.challenges.CodeChallenge.expires_in", index=2, number=3, type=5, @@ -110,18 +115,19 @@ _CODECHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='canonical_phone_number', + name="canonical_phone_number", full_name= - 'spotify.login5.v3.challenges.CodeChallenge.canonical_phone_number', + "spotify.login5.v3.challenges.CodeChallenge.canonical_phone_number", index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -129,7 +135,8 @@ _CODECHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], @@ -138,7 +145,7 @@ _CODECHALLENGE = _descriptor.Descriptor( ], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=74, @@ -146,23 +153,23 @@ _CODECHALLENGE = _descriptor.Descriptor( ) _CODESOLUTION = _descriptor.Descriptor( - name='CodeSolution', - full_name='spotify.login5.v3.challenges.CodeSolution', + name="CodeSolution", + full_name="spotify.login5.v3.challenges.CodeSolution", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='code', - full_name='spotify.login5.v3.challenges.CodeSolution.code', + name="code", + full_name="spotify.login5.v3.challenges.CodeSolution.code", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -170,44 +177,47 @@ _CODESOLUTION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=264, serialized_end=292, ) -_CODECHALLENGE.fields_by_name['method'].enum_type = _CODECHALLENGE_METHOD +_CODECHALLENGE.fields_by_name["method"].enum_type = _CODECHALLENGE_METHOD _CODECHALLENGE_METHOD.containing_type = _CODECHALLENGE -DESCRIPTOR.message_types_by_name['CodeChallenge'] = _CODECHALLENGE -DESCRIPTOR.message_types_by_name['CodeSolution'] = _CODESOLUTION +DESCRIPTOR.message_types_by_name["CodeChallenge"] = _CODECHALLENGE +DESCRIPTOR.message_types_by_name["CodeSolution"] = _CODESOLUTION _sym_db.RegisterFileDescriptor(DESCRIPTOR) CodeChallenge = _reflection.GeneratedProtocolMessageType( - 'CodeChallenge', + "CodeChallenge", (_message.Message, ), { - 'DESCRIPTOR': _CODECHALLENGE, - '__module__': 'spotify.login5.v3.challenges.code_pb2' + "DESCRIPTOR": _CODECHALLENGE, + "__module__": "spotify.login5.v3.challenges.code_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.challenges.CodeChallenge) - }) + }, +) _sym_db.RegisterMessage(CodeChallenge) CodeSolution = _reflection.GeneratedProtocolMessageType( - 'CodeSolution', + "CodeSolution", (_message.Message, ), { - 'DESCRIPTOR': _CODESOLUTION, - '__module__': 'spotify.login5.v3.challenges.code_pb2' + "DESCRIPTOR": _CODESOLUTION, + "__module__": "spotify.login5.v3.challenges.code_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.challenges.CodeSolution) - }) + }, +) _sym_db.RegisterMessage(CodeSolution) DESCRIPTOR._options = None diff --git a/librespot/proto/spotify/login5/v3/challenges/Hashcash.py b/librespot/proto/spotify/login5/v3/challenges/Hashcash.py index 7b211f7..d12b2a5 100644 --- a/librespot/proto/spotify/login5/v3/challenges/Hashcash.py +++ b/librespot/proto/spotify/login5/v3/challenges/Hashcash.py @@ -3,38 +3,40 @@ # source: spotify/login5/v3/challenges/hashcash.proto """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor +from google.protobuf import \ + duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 - DESCRIPTOR = _descriptor.FileDescriptor( - name='spotify/login5/v3/challenges/hashcash.proto', - package='spotify.login5.v3.challenges', - syntax='proto3', - serialized_options=b'\n\024com.spotify.login5v3', + name="spotify/login5/v3/challenges/hashcash.proto", + package="spotify.login5.v3.challenges", + syntax="proto3", + serialized_options=b"\n\024com.spotify.login5v3", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n+spotify/login5/v3/challenges/hashcash.proto\x12\x1cspotify.login5.v3.challenges\x1a\x1egoogle/protobuf/duration.proto\"3\n\x11HashcashChallenge\x12\x0e\n\x06prefix\x18\x01 \x01(\x0c\x12\x0e\n\x06length\x18\x02 \x01(\x05\"O\n\x10HashcashSolution\x12\x0e\n\x06suffix\x18\x01 \x01(\x0c\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x16\n\x14\x63om.spotify.login5v3b\x06proto3', + b'\n+spotify/login5/v3/challenges/hashcash.proto\x12\x1cspotify.login5.v3.challenges\x1a\x1egoogle/protobuf/duration.proto"3\n\x11HashcashChallenge\x12\x0e\n\x06prefix\x18\x01 \x01(\x0c\x12\x0e\n\x06length\x18\x02 \x01(\x05"O\n\x10HashcashSolution\x12\x0e\n\x06suffix\x18\x01 \x01(\x0c\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x16\n\x14\x63om.spotify.login5v3b\x06proto3', dependencies=[ google_dot_protobuf_dot_duration__pb2.DESCRIPTOR, - ]) + ], +) _HASHCASHCHALLENGE = _descriptor.Descriptor( - name='HashcashChallenge', - full_name='spotify.login5.v3.challenges.HashcashChallenge', + name="HashcashChallenge", + full_name="spotify.login5.v3.challenges.HashcashChallenge", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='prefix', - full_name='spotify.login5.v3.challenges.HashcashChallenge.prefix', + name="prefix", + full_name="spotify.login5.v3.challenges.HashcashChallenge.prefix", index=0, number=1, type=12, @@ -49,10 +51,11 @@ _HASHCASHCHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='length', - full_name='spotify.login5.v3.challenges.HashcashChallenge.length', + name="length", + full_name="spotify.login5.v3.challenges.HashcashChallenge.length", index=1, number=2, type=5, @@ -67,14 +70,15 @@ _HASHCASHCHALLENGE = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=109, @@ -82,16 +86,16 @@ _HASHCASHCHALLENGE = _descriptor.Descriptor( ) _HASHCASHSOLUTION = _descriptor.Descriptor( - name='HashcashSolution', - full_name='spotify.login5.v3.challenges.HashcashSolution', + name="HashcashSolution", + full_name="spotify.login5.v3.challenges.HashcashSolution", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='suffix', - full_name='spotify.login5.v3.challenges.HashcashSolution.suffix', + name="suffix", + full_name="spotify.login5.v3.challenges.HashcashSolution.suffix", index=0, number=1, type=12, @@ -106,10 +110,11 @@ _HASHCASHSOLUTION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='duration', - full_name='spotify.login5.v3.challenges.HashcashSolution.duration', + name="duration", + full_name="spotify.login5.v3.challenges.HashcashSolution.duration", index=1, number=2, type=11, @@ -124,14 +129,15 @@ _HASHCASHSOLUTION = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=162, @@ -139,29 +145,31 @@ _HASHCASHSOLUTION = _descriptor.Descriptor( ) _HASHCASHSOLUTION.fields_by_name[ - 'duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION -DESCRIPTOR.message_types_by_name['HashcashChallenge'] = _HASHCASHCHALLENGE -DESCRIPTOR.message_types_by_name['HashcashSolution'] = _HASHCASHSOLUTION + "duration"].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +DESCRIPTOR.message_types_by_name["HashcashChallenge"] = _HASHCASHCHALLENGE +DESCRIPTOR.message_types_by_name["HashcashSolution"] = _HASHCASHSOLUTION _sym_db.RegisterFileDescriptor(DESCRIPTOR) HashcashChallenge = _reflection.GeneratedProtocolMessageType( - 'HashcashChallenge', + "HashcashChallenge", (_message.Message, ), { - 'DESCRIPTOR': _HASHCASHCHALLENGE, - '__module__': 'spotify.login5.v3.challenges.hashcash_pb2' + "DESCRIPTOR": _HASHCASHCHALLENGE, + "__module__": "spotify.login5.v3.challenges.hashcash_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.challenges.HashcashChallenge) - }) + }, +) _sym_db.RegisterMessage(HashcashChallenge) HashcashSolution = _reflection.GeneratedProtocolMessageType( - 'HashcashSolution', + "HashcashSolution", (_message.Message, ), { - 'DESCRIPTOR': _HASHCASHSOLUTION, - '__module__': 'spotify.login5.v3.challenges.hashcash_pb2' + "DESCRIPTOR": _HASHCASHSOLUTION, + "__module__": "spotify.login5.v3.challenges.hashcash_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.challenges.HashcashSolution) - }) + }, +) _sym_db.RegisterMessage(HashcashSolution) DESCRIPTOR._options = None diff --git a/librespot/proto/spotify/login5/v3/credentials/Credentials.py b/librespot/proto/spotify/login5/v3/credentials/Credentials.py index d4e7d55..f141f66 100644 --- a/librespot/proto/spotify/login5/v3/credentials/Credentials.py +++ b/librespot/proto/spotify/login5/v3/credentials/Credentials.py @@ -6,38 +6,39 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='spotify/login5/v3/credentials/credentials.proto', - package='spotify.login5.v3.credentials', - syntax='proto3', - serialized_options=b'\n\024com.spotify.login5v3', + name="spotify/login5/v3/credentials/credentials.proto", + package="spotify.login5.v3.credentials", + syntax="proto3", + serialized_options=b"\n\024com.spotify.login5v3", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n/spotify/login5/v3/credentials/credentials.proto\x12\x1dspotify.login5.v3.credentials\"2\n\x10StoredCredential\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"9\n\x08Password\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x0f\n\x07padding\x18\x03 \x01(\x0c\";\n\x13\x46\x61\x63\x65\x62ookAccessToken\x12\x0e\n\x06\x66\x62_uid\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t\"\x1d\n\x0cOneTimeToken\x12\r\n\x05token\x18\x01 \x01(\t\"|\n\x15ParentChildCredential\x12\x10\n\x08\x63hild_id\x18\x01 \x01(\t\x12Q\n\x18parent_stored_credential\x18\x02 \x01(\x0b\x32/.spotify.login5.v3.credentials.StoredCredential\"S\n\x15\x41ppleSignInCredential\x12\x11\n\tauth_code\x18\x01 \x01(\t\x12\x14\n\x0credirect_uri\x18\x02 \x01(\t\x12\x11\n\tbundle_id\x18\x03 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3' + b'\n/spotify/login5/v3/credentials/credentials.proto\x12\x1dspotify.login5.v3.credentials"2\n\x10StoredCredential\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c"9\n\x08Password\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x0f\n\x07padding\x18\x03 \x01(\x0c";\n\x13\x46\x61\x63\x65\x62ookAccessToken\x12\x0e\n\x06\x66\x62_uid\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x63\x63\x65ss_token\x18\x02 \x01(\t"\x1d\n\x0cOneTimeToken\x12\r\n\x05token\x18\x01 \x01(\t"|\n\x15ParentChildCredential\x12\x10\n\x08\x63hild_id\x18\x01 \x01(\t\x12Q\n\x18parent_stored_credential\x18\x02 \x01(\x0b\x32/.spotify.login5.v3.credentials.StoredCredential"S\n\x15\x41ppleSignInCredential\x12\x11\n\tauth_code\x18\x01 \x01(\t\x12\x14\n\x0credirect_uri\x18\x02 \x01(\t\x12\x11\n\tbundle_id\x18\x03 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3', ) _STOREDCREDENTIAL = _descriptor.Descriptor( - name='StoredCredential', - full_name='spotify.login5.v3.credentials.StoredCredential', + name="StoredCredential", + full_name="spotify.login5.v3.credentials.StoredCredential", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='username', - full_name='spotify.login5.v3.credentials.StoredCredential.username', + name="username", + full_name="spotify.login5.v3.credentials.StoredCredential.username", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -45,10 +46,11 @@ _STOREDCREDENTIAL = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='data', - full_name='spotify.login5.v3.credentials.StoredCredential.data', + name="data", + full_name="spotify.login5.v3.credentials.StoredCredential.data", index=1, number=2, type=12, @@ -63,14 +65,15 @@ _STOREDCREDENTIAL = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=82, @@ -78,23 +81,23 @@ _STOREDCREDENTIAL = _descriptor.Descriptor( ) _PASSWORD = _descriptor.Descriptor( - name='Password', - full_name='spotify.login5.v3.credentials.Password', + name="Password", + full_name="spotify.login5.v3.credentials.Password", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='id', - full_name='spotify.login5.v3.credentials.Password.id', + name="id", + full_name="spotify.login5.v3.credentials.Password.id", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -102,17 +105,18 @@ _PASSWORD = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='password', - full_name='spotify.login5.v3.credentials.Password.password', + name="password", + full_name="spotify.login5.v3.credentials.Password.password", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -120,10 +124,11 @@ _PASSWORD = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='padding', - full_name='spotify.login5.v3.credentials.Password.padding', + name="padding", + full_name="spotify.login5.v3.credentials.Password.padding", index=2, number=3, type=12, @@ -138,14 +143,15 @@ _PASSWORD = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=134, @@ -153,24 +159,24 @@ _PASSWORD = _descriptor.Descriptor( ) _FACEBOOKACCESSTOKEN = _descriptor.Descriptor( - name='FacebookAccessToken', - full_name='spotify.login5.v3.credentials.FacebookAccessToken', + name="FacebookAccessToken", + full_name="spotify.login5.v3.credentials.FacebookAccessToken", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='fb_uid', + name="fb_uid", full_name= - 'spotify.login5.v3.credentials.FacebookAccessToken.fb_uid', + "spotify.login5.v3.credentials.FacebookAccessToken.fb_uid", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -178,18 +184,19 @@ _FACEBOOKACCESSTOKEN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='access_token', + name="access_token", full_name= - 'spotify.login5.v3.credentials.FacebookAccessToken.access_token', + "spotify.login5.v3.credentials.FacebookAccessToken.access_token", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -197,14 +204,15 @@ _FACEBOOKACCESSTOKEN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=193, @@ -212,23 +220,23 @@ _FACEBOOKACCESSTOKEN = _descriptor.Descriptor( ) _ONETIMETOKEN = _descriptor.Descriptor( - name='OneTimeToken', - full_name='spotify.login5.v3.credentials.OneTimeToken', + name="OneTimeToken", + full_name="spotify.login5.v3.credentials.OneTimeToken", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='token', - full_name='spotify.login5.v3.credentials.OneTimeToken.token', + name="token", + full_name="spotify.login5.v3.credentials.OneTimeToken.token", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -236,14 +244,15 @@ _ONETIMETOKEN = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=254, @@ -251,24 +260,24 @@ _ONETIMETOKEN = _descriptor.Descriptor( ) _PARENTCHILDCREDENTIAL = _descriptor.Descriptor( - name='ParentChildCredential', - full_name='spotify.login5.v3.credentials.ParentChildCredential', + name="ParentChildCredential", + full_name="spotify.login5.v3.credentials.ParentChildCredential", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='child_id', + name="child_id", full_name= - 'spotify.login5.v3.credentials.ParentChildCredential.child_id', + "spotify.login5.v3.credentials.ParentChildCredential.child_id", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -276,11 +285,12 @@ _PARENTCHILDCREDENTIAL = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='parent_stored_credential', + name="parent_stored_credential", full_name= - 'spotify.login5.v3.credentials.ParentChildCredential.parent_stored_credential', + "spotify.login5.v3.credentials.ParentChildCredential.parent_stored_credential", index=1, number=2, type=11, @@ -295,14 +305,15 @@ _PARENTCHILDCREDENTIAL = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=285, @@ -310,24 +321,24 @@ _PARENTCHILDCREDENTIAL = _descriptor.Descriptor( ) _APPLESIGNINCREDENTIAL = _descriptor.Descriptor( - name='AppleSignInCredential', - full_name='spotify.login5.v3.credentials.AppleSignInCredential', + name="AppleSignInCredential", + full_name="spotify.login5.v3.credentials.AppleSignInCredential", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='auth_code', + name="auth_code", full_name= - 'spotify.login5.v3.credentials.AppleSignInCredential.auth_code', + "spotify.login5.v3.credentials.AppleSignInCredential.auth_code", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -335,18 +346,19 @@ _APPLESIGNINCREDENTIAL = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='redirect_uri', + name="redirect_uri", full_name= - 'spotify.login5.v3.credentials.AppleSignInCredential.redirect_uri', + "spotify.login5.v3.credentials.AppleSignInCredential.redirect_uri", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -354,18 +366,19 @@ _APPLESIGNINCREDENTIAL = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='bundle_id', + name="bundle_id", full_name= - 'spotify.login5.v3.credentials.AppleSignInCredential.bundle_id', + "spotify.login5.v3.credentials.AppleSignInCredential.bundle_id", index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -373,14 +386,15 @@ _APPLESIGNINCREDENTIAL = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=411, @@ -388,75 +402,81 @@ _APPLESIGNINCREDENTIAL = _descriptor.Descriptor( ) _PARENTCHILDCREDENTIAL.fields_by_name[ - 'parent_stored_credential'].message_type = _STOREDCREDENTIAL -DESCRIPTOR.message_types_by_name['StoredCredential'] = _STOREDCREDENTIAL -DESCRIPTOR.message_types_by_name['Password'] = _PASSWORD -DESCRIPTOR.message_types_by_name['FacebookAccessToken'] = _FACEBOOKACCESSTOKEN -DESCRIPTOR.message_types_by_name['OneTimeToken'] = _ONETIMETOKEN + "parent_stored_credential"].message_type = _STOREDCREDENTIAL +DESCRIPTOR.message_types_by_name["StoredCredential"] = _STOREDCREDENTIAL +DESCRIPTOR.message_types_by_name["Password"] = _PASSWORD +DESCRIPTOR.message_types_by_name["FacebookAccessToken"] = _FACEBOOKACCESSTOKEN +DESCRIPTOR.message_types_by_name["OneTimeToken"] = _ONETIMETOKEN DESCRIPTOR.message_types_by_name[ - 'ParentChildCredential'] = _PARENTCHILDCREDENTIAL + "ParentChildCredential"] = _PARENTCHILDCREDENTIAL DESCRIPTOR.message_types_by_name[ - 'AppleSignInCredential'] = _APPLESIGNINCREDENTIAL + "AppleSignInCredential"] = _APPLESIGNINCREDENTIAL _sym_db.RegisterFileDescriptor(DESCRIPTOR) StoredCredential = _reflection.GeneratedProtocolMessageType( - 'StoredCredential', + "StoredCredential", (_message.Message, ), { - 'DESCRIPTOR': _STOREDCREDENTIAL, - '__module__': 'spotify.login5.v3.credentials.credentials_pb2' + "DESCRIPTOR": _STOREDCREDENTIAL, + "__module__": "spotify.login5.v3.credentials.credentials_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.credentials.StoredCredential) - }) + }, +) _sym_db.RegisterMessage(StoredCredential) Password = _reflection.GeneratedProtocolMessageType( - 'Password', + "Password", (_message.Message, ), { - 'DESCRIPTOR': _PASSWORD, - '__module__': 'spotify.login5.v3.credentials.credentials_pb2' + "DESCRIPTOR": _PASSWORD, + "__module__": "spotify.login5.v3.credentials.credentials_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.credentials.Password) - }) + }, +) _sym_db.RegisterMessage(Password) FacebookAccessToken = _reflection.GeneratedProtocolMessageType( - 'FacebookAccessToken', + "FacebookAccessToken", (_message.Message, ), { - 'DESCRIPTOR': _FACEBOOKACCESSTOKEN, - '__module__': 'spotify.login5.v3.credentials.credentials_pb2' + "DESCRIPTOR": _FACEBOOKACCESSTOKEN, + "__module__": "spotify.login5.v3.credentials.credentials_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.credentials.FacebookAccessToken) - }) + }, +) _sym_db.RegisterMessage(FacebookAccessToken) OneTimeToken = _reflection.GeneratedProtocolMessageType( - 'OneTimeToken', + "OneTimeToken", (_message.Message, ), { - 'DESCRIPTOR': _ONETIMETOKEN, - '__module__': 'spotify.login5.v3.credentials.credentials_pb2' + "DESCRIPTOR": _ONETIMETOKEN, + "__module__": "spotify.login5.v3.credentials.credentials_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.credentials.OneTimeToken) - }) + }, +) _sym_db.RegisterMessage(OneTimeToken) ParentChildCredential = _reflection.GeneratedProtocolMessageType( - 'ParentChildCredential', + "ParentChildCredential", (_message.Message, ), { - 'DESCRIPTOR': _PARENTCHILDCREDENTIAL, - '__module__': 'spotify.login5.v3.credentials.credentials_pb2' + "DESCRIPTOR": _PARENTCHILDCREDENTIAL, + "__module__": "spotify.login5.v3.credentials.credentials_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.credentials.ParentChildCredential) - }) + }, +) _sym_db.RegisterMessage(ParentChildCredential) AppleSignInCredential = _reflection.GeneratedProtocolMessageType( - 'AppleSignInCredential', + "AppleSignInCredential", (_message.Message, ), { - 'DESCRIPTOR': _APPLESIGNINCREDENTIAL, - '__module__': 'spotify.login5.v3.credentials.credentials_pb2' + "DESCRIPTOR": _APPLESIGNINCREDENTIAL, + "__module__": "spotify.login5.v3.credentials.credentials_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.credentials.AppleSignInCredential) - }) + }, +) _sym_db.RegisterMessage(AppleSignInCredential) DESCRIPTOR._options = None diff --git a/librespot/proto/spotify/login5/v3/identifiers/Identifiers.py b/librespot/proto/spotify/login5/v3/identifiers/Identifiers.py index 1091d1f..42457c5 100644 --- a/librespot/proto/spotify/login5/v3/identifiers/Identifiers.py +++ b/librespot/proto/spotify/login5/v3/identifiers/Identifiers.py @@ -6,38 +6,39 @@ 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 symbol_database as _symbol_database + # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( - name='spotify/login5/v3/identifiers/identifiers.proto', - package='spotify.login5.v3.identifiers', - syntax='proto3', - serialized_options=b'\n\024com.spotify.login5v3', + name="spotify/login5/v3/identifiers/identifiers.proto", + package="spotify.login5.v3.identifiers", + syntax="proto3", + serialized_options=b"\n\024com.spotify.login5v3", create_key=_descriptor._internal_create_key, serialized_pb= - b'\n/spotify/login5/v3/identifiers/identifiers.proto\x12\x1dspotify.login5.v3.identifiers\"U\n\x0bPhoneNumber\x12\x0e\n\x06number\x18\x01 \x01(\t\x12\x18\n\x10iso_country_code\x18\x02 \x01(\t\x12\x1c\n\x14\x63ountry_calling_code\x18\x03 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3' + b'\n/spotify/login5/v3/identifiers/identifiers.proto\x12\x1dspotify.login5.v3.identifiers"U\n\x0bPhoneNumber\x12\x0e\n\x06number\x18\x01 \x01(\t\x12\x18\n\x10iso_country_code\x18\x02 \x01(\t\x12\x1c\n\x14\x63ountry_calling_code\x18\x03 \x01(\tB\x16\n\x14\x63om.spotify.login5v3b\x06proto3', ) _PHONENUMBER = _descriptor.Descriptor( - name='PhoneNumber', - full_name='spotify.login5.v3.identifiers.PhoneNumber', + name="PhoneNumber", + full_name="spotify.login5.v3.identifiers.PhoneNumber", filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='number', - full_name='spotify.login5.v3.identifiers.PhoneNumber.number', + name="number", + full_name="spotify.login5.v3.identifiers.PhoneNumber.number", index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -45,18 +46,19 @@ _PHONENUMBER = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='iso_country_code', + name="iso_country_code", full_name= - 'spotify.login5.v3.identifiers.PhoneNumber.iso_country_code', + "spotify.login5.v3.identifiers.PhoneNumber.iso_country_code", index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -64,18 +66,19 @@ _PHONENUMBER = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), _descriptor.FieldDescriptor( - name='country_calling_code', + name="country_calling_code", full_name= - 'spotify.login5.v3.identifiers.PhoneNumber.country_calling_code', + "spotify.login5.v3.identifiers.PhoneNumber.country_calling_code", index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, - default_value=b"".decode('utf-8'), + default_value=b"".decode("utf-8"), message_type=None, enum_type=None, containing_type=None, @@ -83,31 +86,33 @@ _PHONENUMBER = _descriptor.Descriptor( extension_scope=None, serialized_options=None, file=DESCRIPTOR, - create_key=_descriptor._internal_create_key), + create_key=_descriptor._internal_create_key, + ), ], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, - syntax='proto3', + syntax="proto3", extension_ranges=[], oneofs=[], serialized_start=82, serialized_end=167, ) -DESCRIPTOR.message_types_by_name['PhoneNumber'] = _PHONENUMBER +DESCRIPTOR.message_types_by_name["PhoneNumber"] = _PHONENUMBER _sym_db.RegisterFileDescriptor(DESCRIPTOR) PhoneNumber = _reflection.GeneratedProtocolMessageType( - 'PhoneNumber', + "PhoneNumber", (_message.Message, ), { - 'DESCRIPTOR': _PHONENUMBER, - '__module__': 'spotify.login5.v3.identifiers.identifiers_pb2' + "DESCRIPTOR": _PHONENUMBER, + "__module__": "spotify.login5.v3.identifiers.identifiers_pb2" # @@protoc_insertion_point(class_scope:spotify.login5.v3.identifiers.PhoneNumber) - }) + }, +) _sym_db.RegisterMessage(PhoneNumber) DESCRIPTOR._options = None diff --git a/librespot/zeroconf/Packet.py b/librespot/zeroconf/Packet.py index 7bfce34..eafbf21 100644 --- a/librespot/zeroconf/Packet.py +++ b/librespot/zeroconf/Packet.py @@ -45,7 +45,7 @@ class Packet: def __set_flag(self, flag: int, on: bool): if on: - self.__flags |= (1 << flag) + self.__flags |= 1 << flag else: self.__flags &= ~(1 << flag) diff --git a/librespot/zeroconf/Record.py b/librespot/zeroconf/Record.py index d03fc3a..5033a43 100644 --- a/librespot/zeroconf/Record.py +++ b/librespot/zeroconf/Record.py @@ -3,13 +3,13 @@ from librespot.zeroconf import Packet class Record: TYPE_A: int = 0x01 - TYPE_PTR: int = 0x0c + TYPE_PTR: int = 0x0C TYPE_CNAME: int = 0x05 TYPE_TXT: int = 0x10 - TYPE_AAAA: int = 0x1c + TYPE_AAAA: int = 0x1C TYPE_SRV: int = 0x21 - TYPE_NSEC: int = 0x2f - TYPE_ANY: int = 0xff + TYPE_NSEC: int = 0x2F + TYPE_ANY: int = 0xFF __type: int _ttl: int __name: str diff --git a/librespot/zeroconf/Service.py b/librespot/zeroconf/Service.py index 909d56e..4b8202b 100644 --- a/librespot/zeroconf/Service.py +++ b/librespot/zeroconf/Service.py @@ -1,4 +1,5 @@ from __future__ import annotations + from librespot.zeroconf import Packet @@ -15,7 +16,7 @@ class Service: self.__alias = alias for s in alias: c = ord(s) - if c < 0x20 or c == 0x7f: + if c < 0x20 or c == 0x7F: raise TypeError() self.__service = service @@ -27,7 +28,7 @@ class Service: ns = "" for s in text: c = ord(s) - if c == 0x2e or c == 0x5c: + if c == 0x2E or c == 0x5C: ns += "\\" ns += s return ns diff --git a/librespot/zeroconf/Zeroconf.py b/librespot/zeroconf/Zeroconf.py index 4392531..2807ea8 100644 --- a/librespot/zeroconf/Zeroconf.py +++ b/librespot/zeroconf/Zeroconf.py @@ -1,9 +1,11 @@ from __future__ import annotations -from librespot.standard import Closeable + import base64 import random import socket +from librespot.standard import Closeable + class Zeroconf(Closeable): __DISCOVERY = "_services._dns-sd._udp.local" @@ -31,9 +33,9 @@ class Zeroconf(Closeable): def get_or_create_local_host_name() -> str: host = socket.gethostname() if host == "localhost": - host = base64.b64encode( + host = (base64.b64encode( random.randint(-9223372036854775808, - 9223372036854775807)).decode() + ".local" + 9223372036854775807)).decode() + ".local") return host def set_use_ipv4(self, ipv4: bool) -> Zeroconf: diff --git a/requirements.txt b/requirements.txt index 8886989..9df540d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ defusedxml==0.7.1 protobuf==3.15.8 pycryptodome==3.10.1 -requests==2.25.1 \ No newline at end of file +requests==2.25.1