fixed class use insted of module
This commit is contained in:
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|||||||
import typing
|
import typing
|
||||||
|
|
||||||
if typing.TYPE_CHECKING:
|
if typing.TYPE_CHECKING:
|
||||||
from librespot.audio import AbsChunkedInputStream
|
from librespot.audio.AbsChunkedInputStream import AbsChunkedInputStream
|
||||||
from librespot.audio.format import SuperAudioFormat
|
from librespot.audio.format import SuperAudioFormat
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class PlayableContentFeeder:
|
|||||||
playable_id: PlayableId,
|
playable_id: PlayableId,
|
||||||
audio_quality_picker: AudioQualityPicker,
|
audio_quality_picker: AudioQualityPicker,
|
||||||
preload: bool,
|
preload: bool,
|
||||||
halt_listener: HaltListener,
|
halt_listener: HaltListener.HaltListener,
|
||||||
):
|
):
|
||||||
if type(playable_id) is TrackId:
|
if type(playable_id) is TrackId:
|
||||||
return self.load_track(playable_id, audio_quality_picker, preload,
|
return self.load_track(playable_id, audio_quality_picker, preload,
|
||||||
@@ -74,7 +74,7 @@ class PlayableContentFeeder:
|
|||||||
track_id_or_track: typing.Union[TrackId, Metadata.Track],
|
track_id_or_track: typing.Union[TrackId, Metadata.Track],
|
||||||
audio_quality_picker: AudioQualityPicker,
|
audio_quality_picker: AudioQualityPicker,
|
||||||
preload: bool,
|
preload: bool,
|
||||||
halt_listener: HaltListener,
|
halt_listener: HaltListener.HaltListener,
|
||||||
):
|
):
|
||||||
if type(track_id_or_track) is TrackId:
|
if type(track_id_or_track) is TrackId:
|
||||||
original = self.session.api().get_metadata_4_track(
|
original = self.session.api().get_metadata_4_track(
|
||||||
@@ -98,7 +98,7 @@ class PlayableContentFeeder:
|
|||||||
track: Metadata.Track,
|
track: Metadata.Track,
|
||||||
episode: Metadata.Episode,
|
episode: Metadata.Episode,
|
||||||
preload: bool,
|
preload: bool,
|
||||||
halt_lister: HaltListener,
|
halt_lister: HaltListener.HaltListener,
|
||||||
):
|
):
|
||||||
if track is None and episode is None:
|
if track is None and episode is None:
|
||||||
raise RuntimeError()
|
raise RuntimeError()
|
||||||
@@ -124,15 +124,15 @@ class PlayableContentFeeder:
|
|||||||
class LoadedStream:
|
class LoadedStream:
|
||||||
episode: Metadata.Episode
|
episode: Metadata.Episode
|
||||||
track: Metadata.Track
|
track: Metadata.Track
|
||||||
input_stream: GeneralAudioStream
|
input_stream: GeneralAudioStream.GeneralAudioStream
|
||||||
normalization_data: NormalizationData
|
normalization_data: NormalizationData.NormalizationData
|
||||||
metrics: PlayableContentFeeder.Metrics
|
metrics: PlayableContentFeeder.Metrics
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
track_or_episode: typing.Union[Metadata.Track, Metadata.Episode],
|
track_or_episode: typing.Union[Metadata.Track, Metadata.Episode],
|
||||||
input_stream: GeneralAudioStream,
|
input_stream: GeneralAudioStream.GeneralAudioStream,
|
||||||
normalization_data: NormalizationData,
|
normalization_data: NormalizationData.NormalizationData,
|
||||||
metrics: PlayableContentFeeder.Metrics,
|
metrics: PlayableContentFeeder.Metrics,
|
||||||
):
|
):
|
||||||
if type(track_or_episode) is Metadata.Track:
|
if type(track_or_episode) is Metadata.Track:
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class CdnFeedHelper:
|
|||||||
file: Metadata.AudioFile,
|
file: Metadata.AudioFile,
|
||||||
resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str],
|
resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str],
|
||||||
preload: bool,
|
preload: bool,
|
||||||
halt_listener: HaltListener,
|
halt_listener: HaltListener.HaltListener,
|
||||||
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
||||||
if type(resp_or_url) is str:
|
if type(resp_or_url) is str:
|
||||||
url = resp_or_url
|
url = resp_or_url
|
||||||
@@ -55,7 +55,7 @@ class CdnFeedHelper:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def load_episode_external(
|
def load_episode_external(
|
||||||
session: Session, episode: Metadata.Episode,
|
session: Session, episode: Metadata.Episode,
|
||||||
halt_listener: HaltListener
|
halt_listener: HaltListener.HaltListener
|
||||||
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
||||||
resp = session.client().head(episode.external_url)
|
resp = session.client().head(episode.external_url)
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ class CdnFeedHelper:
|
|||||||
episode: Metadata.Episode,
|
episode: Metadata.Episode,
|
||||||
file: Metadata.AudioFile,
|
file: Metadata.AudioFile,
|
||||||
resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str],
|
resp_or_url: typing.Union[StorageResolve.StorageResolveResponse, str],
|
||||||
halt_listener: HaltListener,
|
halt_listener: HaltListener.HaltListener,
|
||||||
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
) -> PlayableContentFeeder.PlayableContentFeeder.LoadedStream:
|
||||||
if type(resp_or_url) is str:
|
if type(resp_or_url) is str:
|
||||||
url = resp_or_url
|
url = resp_or_url
|
||||||
@@ -94,7 +94,7 @@ class CdnFeedHelper:
|
|||||||
|
|
||||||
streamer = session.cdn().stream_file(file, key, url, halt_listener)
|
streamer = session.cdn().stream_file(file, key, url, halt_listener)
|
||||||
input_stream = streamer.stream()
|
input_stream = streamer.stream()
|
||||||
normalization_data = NormalizationData.read(input_stream)
|
normalization_data = NormalizationData.NormalizationData.read(input_stream)
|
||||||
if input_stream.skip(0xA7) != 0xA7:
|
if input_stream.skip(0xA7) != 0xA7:
|
||||||
raise IOError("Couldn't skip 0xa7 bytes!")
|
raise IOError("Couldn't skip 0xa7 bytes!")
|
||||||
return PlayableContentFeeder.PlayableContentFeeder.LoadedStream(
|
return PlayableContentFeeder.PlayableContentFeeder.LoadedStream(
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class CdnManager:
|
|||||||
halt_listener: HaltListener):
|
halt_listener: HaltListener):
|
||||||
return CdnManager.Streamer(
|
return CdnManager.Streamer(
|
||||||
self._session,
|
self._session,
|
||||||
StreamId(episode),
|
StreamId.StreamId(episode),
|
||||||
SuperAudioFormat.MP3,
|
SuperAudioFormat.MP3,
|
||||||
CdnManager.CdnUrl(self, None, external_url),
|
CdnManager.CdnUrl(self, None, external_url),
|
||||||
self._session.cache(),
|
self._session.cache(),
|
||||||
@@ -188,7 +188,7 @@ class CdnManager:
|
|||||||
GeneralWritableStream.GeneralWritableStream,
|
GeneralWritableStream.GeneralWritableStream,
|
||||||
):
|
):
|
||||||
_session: Session = None
|
_session: Session = None
|
||||||
_streamId: StreamId = None
|
_streamId: StreamId.StreamId = None
|
||||||
_executorService = concurrent.futures.ThreadPoolExecutor()
|
_executorService = concurrent.futures.ThreadPoolExecutor()
|
||||||
_audioFormat: SuperAudioFormat = None
|
_audioFormat: SuperAudioFormat = None
|
||||||
_audioDecrypt: AudioDecrypt = None
|
_audioDecrypt: AudioDecrypt = None
|
||||||
@@ -204,7 +204,7 @@ class CdnManager:
|
|||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
session: Session,
|
session: Session,
|
||||||
stream_id: StreamId,
|
stream_id: StreamId.StreamId,
|
||||||
audio_format: SuperAudioFormat,
|
audio_format: SuperAudioFormat,
|
||||||
cdn_url,
|
cdn_url,
|
||||||
cache: CacheManager,
|
cache: CacheManager,
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ class Session(Closeable, SubListener, DealerClient.MessageListener):
|
|||||||
_receiver: Session.Receiver = None
|
_receiver: Session.Receiver = None
|
||||||
_apWelcome: Authentication.APWelcome = None
|
_apWelcome: Authentication.APWelcome = None
|
||||||
_mercuryClient: MercuryClient = None
|
_mercuryClient: MercuryClient = None
|
||||||
_audioKeyManager: AudioKeyManager = None
|
_audioKeyManager: AudioKeyManager.AudioKeyManager = None
|
||||||
_channelManager: ChannelManager = None
|
_channelManager: ChannelManager = None
|
||||||
_tokenProvider: TokenProvider = None
|
_tokenProvider: TokenProvider = None
|
||||||
_cdnManager: CdnManager = None
|
_cdnManager: CdnManager = None
|
||||||
@@ -329,7 +329,7 @@ class Session(Closeable, SubListener, DealerClient.MessageListener):
|
|||||||
_dealer: DealerClient = None
|
_dealer: DealerClient = None
|
||||||
_api: ApiClient = None
|
_api: ApiClient = None
|
||||||
_search: SearchManager = None
|
_search: SearchManager = None
|
||||||
_contentFeeder: PlayableContentFeeder = None
|
_contentFeeder: PlayableContentFeeder.PlayableContentFeeder = None
|
||||||
_eventService: EventService = None
|
_eventService: EventService = None
|
||||||
_countryCode: str = None
|
_countryCode: str = None
|
||||||
_closed: bool = False
|
_closed: bool = False
|
||||||
@@ -683,7 +683,7 @@ class Session(Closeable, SubListener, DealerClient.MessageListener):
|
|||||||
raise RuntimeError("Session isn't authenticated!")
|
raise RuntimeError("Session isn't authenticated!")
|
||||||
return self._mercuryClient
|
return self._mercuryClient
|
||||||
|
|
||||||
def audio_key(self) -> AudioKeyManager:
|
def audio_key(self) -> AudioKeyManager.AudioKeyManager:
|
||||||
self._wait_auth_lock()
|
self._wait_auth_lock()
|
||||||
if self._audioKeyManager is None:
|
if self._audioKeyManager is None:
|
||||||
raise RuntimeError("Session isn't authenticated!")
|
raise RuntimeError("Session isn't authenticated!")
|
||||||
@@ -725,7 +725,7 @@ class Session(Closeable, SubListener, DealerClient.MessageListener):
|
|||||||
raise RuntimeError("Session isn't authenticated!")
|
raise RuntimeError("Session isn't authenticated!")
|
||||||
return self._api
|
return self._api
|
||||||
|
|
||||||
def content_feeder(self) -> PlayableContentFeeder:
|
def content_feeder(self) -> PlayableContentFeeder.PlayableContentFeeder:
|
||||||
if self._contentFeeder is None:
|
if self._contentFeeder is None:
|
||||||
raise RuntimeError("Session isn't authenticated!")
|
raise RuntimeError("Session isn't authenticated!")
|
||||||
return self._contentFeeder
|
return self._contentFeeder
|
||||||
|
|||||||
Reference in New Issue
Block a user