@@ -326,32 +326,6 @@ def get_url(resp: StorageResolve.StorageResolveResponse) -> str:
326326 selected_url = random .choice (resp .cdnurl )
327327 return selected_url
328328
329- @staticmethod
330- def load_track (
331- session : Session , track : Metadata .Track , file : Metadata .AudioFile ,
332- resp_or_url : typing .Union [StorageResolve .StorageResolveResponse ,
333- str ], preload : bool ,
334- halt_listener : HaltListener ) -> LoadedStream :
335- if type (resp_or_url ) is str :
336- url = resp_or_url
337- else :
338- url = CdnFeedHelper .get_url (resp_or_url )
339- start = int (time .time () * 1000 )
340- key = session .audio_key ().get_audio_key (track .gid , file .file_id )
341- audio_key_time = int (time .time () * 1000 ) - start
342-
343- streamer = session .cdn ().stream_file (file , key , url , halt_listener )
344- input_stream = streamer .stream ()
345- normalization_data = NormalizationData .read (input_stream )
346- if input_stream .skip (0xA7 ) != 0xA7 :
347- raise IOError ("Couldn't skip 0xa7 bytes!" )
348- return LoadedStream (
349- track ,
350- streamer ,
351- normalization_data ,
352- file .file_id , preload , audio_key_time
353- )
354-
355329 @staticmethod
356330 def load_episode_external (
357331 session : Session , episode : Metadata .Episode ,
@@ -375,9 +349,9 @@ def load_episode_external(
375349 )
376350
377351 @staticmethod
378- def load_episode (
352+ def load_content (
379353 session : Session ,
380- episode : Metadata .Episode ,
354+ track_or_episode : typing . Union [ Metadata .Track , Metadata . Episode ] ,
381355 file : Metadata .AudioFile ,
382356 resp_or_url : typing .Union [StorageResolve .StorageResolveResponse , str ],
383357 preload : bool ,
@@ -388,7 +362,7 @@ def load_episode(
388362 else :
389363 url = CdnFeedHelper .get_url (resp_or_url )
390364 start = int (time .time () * 1000 )
391- key = session .audio_key ().get_audio_key (episode .gid , file .file_id )
365+ key = session .audio_key ().get_audio_key (track_or_episode .gid , file .file_id )
392366 audio_key_time = int (time .time () * 1000 ) - start
393367
394368 streamer = session .cdn ().stream_file (file , key , url , halt_listener )
@@ -397,7 +371,7 @@ def load_episode(
397371 if input_stream .skip (0xA7 ) != 0xA7 :
398372 raise IOError ("Couldn't skip 0xa7 bytes!" )
399373 return LoadedStream (
400- episode ,
374+ track_or_episode ,
401375 streamer ,
402376 normalization_data ,
403377 file .file_id , preload , audio_key_time
@@ -742,22 +716,19 @@ def load(self, playable_id: PlayableId,
742716 preload , halt_listener )
743717 raise TypeError ("Unknown content: {}" .format (playable_id ))
744718
745- def load_stream (self , file : Metadata .AudioFile , track : Metadata . Track ,
746- episode : Metadata .Episode , preload : bool ,
747- halt_lister : HaltListener ):
748- if track is None and episode is None :
719+ def load_stream (self , file : Metadata .AudioFile ,
720+ track_or_episode : typing . Union [ Metadata .Track , Metadata . Episode ] ,
721+ preload : bool , halt_lister : HaltListener ):
722+ if track_or_episode is None :
749723 raise RuntimeError ("No content passed!" )
750724 elif file is None :
751725 raise RuntimeError ("Content has no audio file!" )
752726 response = self .resolve_storage_interactive (file .file_id , preload )
753727 if response .result == StorageResolve .StorageResolveResponse .Result .CDN :
754- if track is not None :
755- return CdnFeedHelper .load_track (self .__session , track , file ,
756- response , preload , halt_lister )
757- return CdnFeedHelper .load_episode (self .__session , episode , file ,
758- response , preload , halt_lister )
728+ return CdnFeedHelper .load_content (self .__session , track_or_episode , file ,
729+ response , preload , halt_lister )
759730 if response .result == StorageResolve .StorageResolveResponse .Result .STORAGE :
760- if track is None :
731+ if track_or_episode is None :
761732 pass
762733 elif response .result == StorageResolve .StorageResolveResponse .Result .RESTRICTED :
763734 raise RuntimeError ("Content is restricted!" )
@@ -779,7 +750,7 @@ def load_episode(self, episode_id: EpisodeId,
779750 "Couldn't find any suitable audio file, available: {}" .format (
780751 episode .audio ))
781752 raise FeederException ("Cannot find suitable audio file" )
782- return self .load_stream (file , None , episode , preload , halt_listener )
753+ return self .load_stream (file , episode , preload , halt_listener )
783754
784755 def load_track (self , track_id_or_track : typing .Union [TrackId ,
785756 Metadata .Track ],
@@ -799,7 +770,7 @@ def load_track(self, track_id_or_track: typing.Union[TrackId,
799770 "Couldn't find any suitable audio file, available: {}" .format (
800771 track .file ))
801772 raise FeederException ("Cannot find suitable audio file" )
802- return self .load_stream (file , track , None , preload , halt_listener )
773+ return self .load_stream (file , track , preload , halt_listener )
803774
804775 def pick_alternative_if_necessary (
805776 self , track : Metadata .Track ) -> typing .Union [Metadata .Track , None ]:
0 commit comments