2121import helpers
2222import router
2323from voidboost import parse_streams
24- from helpers import log , get_media_attributes , color_rating
24+ from helpers import log , get_media_attributes , color_rating , get_subtitles , set_item_subtitles
2525
2626common = XbmcHelpers
2727transliterate = Translit ()
@@ -289,8 +289,7 @@ def select_quality(self, streams, title, image, subtitles=None):
289289 infoLabels = {'title' : film_title , 'overlay' : xbmcgui .ICON_OVERLAY_WATCHED , 'playCount' : 0 }
290290 )
291291 item .setProperty ('IsPlayable' , 'true' )
292- if subtitles :
293- item .setSubtitles ([subtitles ])
292+ set_item_subtitles (item , subtitles )
294293 xbmcplugin .addDirectoryItem (self .handle , item_uri , item , False )
295294
296295 def select_translator (self , content , tv_show , post_id , url , idt , action ):
@@ -339,10 +338,7 @@ def select_translator(self, content, tv_show, post_id, url, idt, action):
339338 subtitles = None
340339 if action == "get_movie" :
341340 playlist = [response ["url" ]]
342- try :
343- subtitles = response ["subtitle" ].split (']' )[1 ].split (',' )[0 ].replace (r"\/" , "/" )
344- except Exception as ex :
345- log (f'fault decode subtitles ex: { ex } ' )
341+ subtitles = get_subtitles (response )
346342 else :
347343 episodes = response ["episodes" ]
348344 playlist = common .parseDOM (episodes , "ul" , attrs = {"class" : "b-simple_episodes__list clearfix" })
@@ -551,8 +547,7 @@ def search(self, keyword, external):
551547 def play (self , url , subtitles = None ):
552548 log (f'*** play url: { url } subtitles: { subtitles } ' )
553549 item = xbmcgui .ListItem (path = url )
554- if subtitles :
555- item .setSubtitles ([subtitles ])
550+ set_item_subtitles (item , subtitles )
556551 xbmcplugin .setResolvedUrl (self .handle , True , item )
557552
558553 def play_episode (self , url , post_id , season_id , episode_id , title , image , idt ):
@@ -572,9 +567,9 @@ def play_episode(self, url, post_id, season_id, episode_id, title, image, idt):
572567 }
573568 response = self .make_response ('POST' , "/ajax/get_cdn_series/" , data = data , headers = headers ).json ()
574569 data = response ["url" ]
575-
570+ subtitles = get_subtitles ( response )
576571 links = parse_streams (data )
577- self .select_quality (links , title , image , None )
572+ self .select_quality (links , title , image , subtitles )
578573 xbmcplugin .setContent (self .handle , 'episodes' )
579574 xbmcplugin .endOfDirectory (self .handle , True )
580575
0 commit comments