importing the compiled pb2 modules with alias
This commit is contained in:
@@ -10,23 +10,23 @@ 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_pb2
|
||||
from librespot.proto import StorageResolve_pb2
|
||||
from librespot.proto import Metadata_pb2 as Metadata
|
||||
from librespot.proto import StorageResolve_pb2 as StorageResolve
|
||||
|
||||
|
||||
class CdnFeedHelper:
|
||||
_LOGGER: logging = logging.getLogger(__name__)
|
||||
|
||||
@staticmethod
|
||||
def get_url(resp: StorageResolve_pb2.StorageResolveResponse) -> str:
|
||||
def get_url(resp: StorageResolve.StorageResolveResponse) -> str:
|
||||
return random.choice(resp.cdnurl)
|
||||
|
||||
@staticmethod
|
||||
def load_track(
|
||||
session: Session,
|
||||
track: Metadata_pb2.Track,
|
||||
file: Metadata_pb2.AudioFile,
|
||||
resp_or_url: typing.Union[StorageResolve_pb2.StorageResolveResponse, str],
|
||||
track: Metadata.Track,
|
||||
file: Metadata.AudioFile,
|
||||
resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str],
|
||||
preload: bool,
|
||||
halt_listener: HaltListener,
|
||||
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
||||
@@ -54,7 +54,7 @@ class CdnFeedHelper:
|
||||
|
||||
@staticmethod
|
||||
def load_episode_external(
|
||||
session: Session, episode: Metadata_pb2.Episode,
|
||||
session: Session, episode: Metadata.Episode,
|
||||
halt_listener: HaltListener
|
||||
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
||||
resp = session.client().head(episode.external_url)
|
||||
@@ -79,9 +79,9 @@ class CdnFeedHelper:
|
||||
@staticmethod
|
||||
def load_episode(
|
||||
session: Session,
|
||||
episode: Metadata_pb2.Episode,
|
||||
file: Metadata_pb2.AudioFile,
|
||||
resp_or_url: typing.Union[StorageResolve_pb2.StorageResolveResponse, str],
|
||||
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:
|
||||
|
||||
@@ -17,14 +17,14 @@ 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_pb2
|
||||
from librespot.proto import StorageResolve_pb2 as StorageResolve
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
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_pb2
|
||||
from librespot.proto import Metadata_pb2 as Metadata
|
||||
|
||||
|
||||
class CdnManager:
|
||||
@@ -50,7 +50,7 @@ class CdnManager:
|
||||
|
||||
return body
|
||||
|
||||
def stream_external_episode(self, episode: Metadata_pb2.Episode,
|
||||
def stream_external_episode(self, episode: Metadata.Episode,
|
||||
external_url: str,
|
||||
halt_listener: HaltListener):
|
||||
return CdnManager.Streamer(
|
||||
@@ -65,7 +65,7 @@ class CdnManager:
|
||||
|
||||
def stream_file(
|
||||
self,
|
||||
file: Metadata_pb2.AudioFile,
|
||||
file: Metadata.AudioFile,
|
||||
key: bytes,
|
||||
url: str,
|
||||
halt_listener: HaltListener,
|
||||
@@ -96,9 +96,9 @@ class CdnManager:
|
||||
if body is None:
|
||||
raise IOError("Response body is empty!")
|
||||
|
||||
proto = StorageResolve_pb2.StorageResolveResponse()
|
||||
proto = StorageResolve.StorageResolveResponse()
|
||||
proto.ParseFromString(body)
|
||||
if proto.result == StorageResolve_pb2.StorageResolveResponse.Result.CDN:
|
||||
if proto.result == StorageResolve.StorageResolveResponse.Result.CDN:
|
||||
url = random.choice(proto.cdnurl)
|
||||
self._LOGGER.debug("Fetched CDN url for {}: {}".format(
|
||||
Utils.bytes_to_hex(file_id), url))
|
||||
|
||||
Reference in New Issue
Block a user