#NEWLINE# def _real_extract( self , url ) : #NEWLINE# #INDENT# radio_id = self . _match_id ( url ) #NEWLINE# webpage = self . _download_webpage ( url , radio_id ) #NEWLINE# broadcast = json . loads ( self . _search_regex ( '_getBroadcast\\s*=\\s*function\\(\\s*\\)\\s*{\\s*return\\s+({.+?})\\s*;\\s*}' , webpage , 'broadcast' ) ) #NEWLINE# title = self . _live_title ( broadcast [ 'name' ] ) #NEWLINE# description = ( broadcast . get ( 'description' ) or broadcast . get ( 'shortDescription' ) ) #NEWLINE# thumbnail = ( broadcast . get ( 'picture4Url' ) or broadcast . get ( 'picture4TransUrl' ) ) #NEWLINE# formats = [ { #NEWLINE# #INDENT# 'url' : stream [ 'streamUrl' ] , #NEWLINE# 'ext' : stream [ 'streamContentFormat' ] . lower ( ) , #NEWLINE# 'acodec' : stream [ 'streamContentFormat' ] , #NEWLINE# 'abr' : stream [ 'bitRate' ] , #NEWLINE# 'asr' : stream [ 'sampleRate' ] , #NEWLINE# #UNINDENT# } for stream in broadcast [ 'streamUrls' ] ] #NEWLINE# self . _sort_formats ( formats ) #NEWLINE# return { #NEWLINE# #INDENT# 'id' : radio_id , #NEWLINE# 'title' : title , #NEWLINE# 'description' : description , #NEWLINE# 'thumbnail' : description , #NEWLINE# 'is_live' : True , #NEWLINE# 'formats' : formats , #NEWLINE# #UNINDENT# }