Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
Ch-_c@sJddlmZmZddlmZmZddlmZm	Z	m
Z
mZddlm
Z
ddlZddlmZmZyddlZWnek
r¯ddlZnXddlmZmZmZedd	d
eƒejj_edd	d
eƒejj_d„Zd„Zd
efd„ƒYZdefd„ƒYZ dS(iÿÿÿÿ(tTranslateTXTt
GetIPTVNotify(t	CHostBasetCBaseHostClass(tprintDBGtprintExctbyteifytrm(t	BBCCoUkIEN(tdatetimet	timedelta(tconfigt
ConfigTexttgetConfigListEntrytdefaulttt
fixed_sizecCsg}|jttdƒtjjjƒƒtjjjjs’|jttdƒdtjjjƒƒ|jttdƒdtjjj	ƒƒn|jttdƒtjjj
ƒƒ|jttdƒtjjjƒƒ|jttdƒtjjjƒƒ|S(Ns"Use web-proxy (it may be illegal):se-mailt:tpasswordsDefault video quality:sUse default video quality:sPreferred format:(
tappendR
t_Rtpluginst
iptvplayertbbc_use_web_proxytvaluet	bbc_logintbbc_passwordtbbc_default_qualitytbbc_use_default_qualitytbbc_prefered_format(t
optionList((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt
GetConfigLists%),%%%cCsdS(Nshttps://www.bbc.co.uk/sport((((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytgettytul+stBBCSportcBsËeZd„Zd„Zd„Zdd„Zd„Zdd„Zidd„Z	d„Z
d	„Zd
„Zd„Z
d„Zdd
„Zd„Zd„Zd„Zd„Zd„Zdddd„ZRS(cCs˜tj|idd6dd6ƒd|_d|_idd6d	d
6dd6d
d6|_t|jƒ|_|jjidd6ƒitd6gd6|jd6td6td6td6|j	d6|_
d|_d|_
d|_d|_i|_tjƒtjƒ|_|jj|jjdd}|dddkrC|d7}n!|dddkrd|d8}ntd|ƒ|_d d!d"d#d$d%d&g|_dS('Ns
bbc.com.sportthistorysbbc.com.sport.cookietcookieshttps://www.bbc.co.uk/sLhttps://pbs.twimg.com/profile_images/878266143571443712/goIG59xP_400x400.jpgsHMozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0s
User-Agentt1tDNTs	text/htmltAccepts
gzip, deflatesAccept-EncodingtXMLHttpRequestsX-Requested-Witht
with_metadatatignore_http_code_rangestheadert
use_cookietload_cookietsave_cookiet
cookiefileRshttps://session.bbc.com/sessioniiii
itsecondstMontTuetWedtThutFritSattSun(Rt__init__tMAIN_URLtDEFAULT_ICON_URLtHEADERtdicttAJAX_HEADERtupdatetTruetCOOKIE_FILEt
defaultParamstNonetloggedIntloginRt
sessionUrltliveGuideItemsCacheR	tnowtutcnowtOFFSETR/tdaysR
tABBREVIATED_DAYS_NAME_TAB(tselfR/((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyR70s(		%@					

cCs,|jjj|dƒd}tj|dƒS(Ns.([0-9]+\-[0-9]+\-[0-9]+T[0-9]+\:[0-9]+:[0-9]+)is%Y-%m-%dT%H:%M:%S(tcmtphtgetSearchGroupsR	tstrptime(RKttxt((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt	_str2dateHscCsK|j|ƒ}||j}|jƒjdkrG|tddƒ}n|S(Ni;ii(RQRHttimetsecondR
(RKRPtutc_date((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt
_gmt2localLs

i<cCs=||kr||}n
||}|j|jdd|S(Nii(R/RI(RKtd1td2tdivttd((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt
_absTimeDeltaSs

cCs.|jj|ƒr*|jj|ƒ|_ndS(N(RLt
isValidUrlt
getBaseUrlR8(RKturl((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt
setMainUrlXscCstj|||ƒjddƒS(Ns	/$recipe/s/480x270_b/(RtgetFullIconUrltreplace(RKticontbaseUrl((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyR_\scCs4|ikrt|jƒ}n|jj|||ƒS(N(R;R@RLtgetPage(RKR]t	addParamst	post_data((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyRc_scCsqtdƒ|jdƒ}|j|ƒ\}}|s8dS|j|jdƒ|jjj|d d!ƒd	}|j|jjj	|d
ƒdƒ}|j|jjj	|dƒdƒ}|d
krd|j
|jjj	|dƒdƒ}	|j
|jjj|d"d#tƒd	ƒ}
t|ƒ}|j
itd6dd6|	d6|d6|d6|
d6ƒ|j|ƒn|jjj|d$d%tƒd	}|jjj|ddƒ}xÉ|D]Á}|j
|ƒ}	|j|jjj	|dƒdƒ}|jj|ƒsúq¨nd|krq¨nd|kr!|}
n|}
t|ƒ}|j
itd6|
d6|	d6|d6ƒ|j|ƒq¨WdS(&NsBBCSport.listMainMenus/sportR]s<asides</aside>t	liveguides<divs</div>is6\ssrc=['"]([^"^']+?\.(?:jpe?g|png)(?:\?[^"^']+?)?)['"]is\shref=['"]([^"^']+?)['"]Rsalt="([^"]+?)"s<pt>tsummarys</ptgood_for_favt
live_guidetcategoryttitleRatdescs<navsprimary-navs</navs<lis</li>s	/my-sports/all-sports(s<asides</aside>Rf(s<divs</div>(s<pRgRh(s</pRg(s<navRgsprimary-nav(s</navRg(Rt
getFullUrlRcR^tmetaRLRMtgetDataBeetwenNodesR_RNtcleanHtmlStrtFalseR;R=R>taddDirtgetAllItemsBeetwenMarkersR[(RKtcItemt
nextCategory1t
nextCategory2R]tststdatat
liveguideDataRaRlRmtparamstitemRk((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytlistMainMenues<
%%%+7"
%	)c	Csîtdƒ|j|dƒ\}}|s-dS|jjj|dd
tƒ}xœ|D]”}|j|jjj|dƒdƒ}|jj|ƒs•qRn|j	|ƒ}t
|ƒ}|jitd	6|d
6|d6|d6ƒ|j
|ƒqRWdS(NsBBCSport.listAllItemsR]s<liRgs	list-items</lis\shref=['"]([^"^']+?)['"]iRiRkRl(s<liRgs	list-item(s</liRg(RRcRLRMtgetAllItemsBeetwenNodesRrRnRNR[RqR;R=R>Rs(	RKRutnextCategoryRxRyR|R]RlR{((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytlistAllItems‹s

%)c
Cstdƒi|_|j|dƒ\}}|s6dSg}d}|jjj|ddtƒ}x$|D]}d|krg|}PqgqgW|jjj|ddtƒd	jƒd
 }y@t	t
jd|ƒdtƒ}xidd
6t
dƒd6idd
6t
dƒd6idd
6t
dƒd6idd
6t
dƒd6gD]¶}y•t||d
tƒrÒt||d
ƒrÒ||d
|j|d
<t|ƒ}	|	jitd6|d6|dd6|d
d6ƒ|j|	ƒnWq8tk
rítƒq8Xq8WWntk
r
tƒnXdS(NsBBCSport.listLiveGuideMenuR]Rs.setPayload(s	</script>s
"promoted"s"body":{s});iiÿÿÿÿs{%s}tpromotedtkeytPromotedRltlivetLivet	coming_ups	Coming uptcatch_upsCatch upRiRktf_key(RRERcRLRMRtRrtgetDataBeetwenMarkerststripRtjsontloadsR>Rt
isinstancetlisttlenR;R=Rst	ExceptionR(
RKRuRRxRytmediaDataTabt	mediaDatattmpR|R{((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytlistLiveGuideMenu™s4
	
,i+1

c
Cs+tdƒytjƒ}xï|j|dD]Ü}|j|dƒ}|dsX|drè|ddkrèxœ|dD]n}d	|kssd
|d	kr›qsn|d	d
}|dkr»qsn|jd|ƒ}|j|d
ƒ}	|j|dƒ}
|d}d|dkrqsn|d|dg}d|krnd|dkrn|jd|dd|ddfƒn|j	j
j|jddƒdƒd}
|
dkr«d}
n|j	j
j|jddƒdƒd}|dkrèd}n|dks|
dkr1|jt
tdt|
ƒdt|ƒƒƒƒndj|ƒg}|j|j|dƒƒt|ƒ}itd6|
d6|d 6|	d!6d"j|ƒd#6}|d$kr·|j|ƒqs|d%krÓ|j|ƒqstd&|ƒqsWq+|j|d ƒ}|j|d'ƒ}
|j|d(d)ƒ}	|dg}|j|j}|dkrB|d*krB|j|jkrª|jd+t
|jƒjd,ƒt
|jƒjd,ƒfƒq‰|d-krô|jd.t
|jƒjd,ƒt
|jƒjd,ƒfƒq‰|jd/|j|jƒt
|jƒjd,ƒt
|jƒjd,ƒfƒnG|jd/|jd0ƒt
|jƒjd,ƒt
|jƒjd,ƒfƒdj|ƒg}|j|j|dƒƒt|ƒ}itd6|d16|
d6|d 6|	d!6d"j|ƒd#6}|j|ƒq+WWntk
r&tƒnXdS(2NsBBCSport.listLiveGuideItemsRˆtscheduledStartTimethasAudiothasVideotstatust	COMING_UPtmediatidentifierstplayablePidRs/iplayer/vpid/%s/t
coverImageRlt	mediaTypetCOMING_SOONtsectionNametscheduletformattedStartTimes%s-%stformattedEndTimetdurations	([0-9]+)Hit0s	([0-9]+)Mthourstminutess | RhRiR]Ras[/br]RmtvideotaudiosUnknown media type
%s
>>>>t
shortTitletimagethrefis%s:%siisTomorrow at %s:%ss%s at %s:%ss%Y-%m-%dRk(RR	RFRERURnR_RqRRLRMRNtgettstrR
tinttjoinR;R>taddVideotaddAudiotdaythourtzfilltminuteRJtweekdaytstrftimeRsRR(RKRuRtNOWtdatItemtsDateR|tvpidR]RaRlRžRmthtmR{tdiff((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytlistLiveGuideItems¸sr
$
*(	(	12
>>NG9
cCsdtdƒ|j|dƒ\}}|s-dSt|ƒ}|ji|d6ƒ|j|||ƒdS(NsBBCSport.listSubMenuR]Rk(RRcR;R=t	listItems(RKRuRvRwRxRy((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytlistSubMenuús
c	Cs?tdƒ|dkr<|j|dƒ\}}|s<dSng}g}g}|jjj|ddƒ}xŸ|D]—}d|kr‹t}	nt}	|jjj|d'd(ƒ}xX|D]P}
|jjj	|
d
dƒd}|j
|jjj|d
ƒdƒ}|jj|ƒsq³n|j
|ƒ}|j|jjj|
dƒdƒ}
g}|jjj|
d)d*tƒd}|jjj|ddƒ}x9|D]1}|j
|ƒ}|dkr“|j|ƒq“q“Wdj|ƒ}|dkrìg}n	|g}|j|j
|jjj|
d+d,tƒdƒƒt|ƒ}itd6|d6|d6|
d6dj|ƒd6}d|
kr‹d |d!<|j|ƒq³d"|
kr±d#|d!<|j|ƒq³|jid$d!6|d$6ƒd%|
krè|j|ƒn
|j|ƒtd&|
ƒq³WqpW|jj|ƒ|jj|ƒ|jj|ƒdS(-NsBBCSport.listItemsR]s<sections
</section>sid="audio-video"s<articleRgs	has-medias	</articles<h3s</h3>is\shref=['"]([^"^']+?)['"]is6\ssrc=['"]([^"^']+?\.(?:jpe?g|png)(?:\?[^"^']+?)?)['"]s<divt_metas</divs<lis</li>Rs | s<pRhs</pRiRlRas[/br]Rmsgelicon--listenR©ttypes
gelicon--playR¨Rks
gelicon--livesUnknown media type
%s
>>>>(s<articleRgs	has-media(s	</articleRg(s<divRgRÃ(s</divRg(s<pRgssummary(s</pRg(RRARcRLRMRtR>RrR~R‰RnRNR[RqR_RpRR°R;R=tcurrListtextend(RKRuRRyRxtliveItemListt
maediaListt
othersListR“tpromoteR|R]RlRaRmttR{((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyRÁsb

	
%%"
		22


cCsDtdƒ|j|dƒ\}}|s-dSg}|jjj|ddtƒ}xU|D]M}|jjj|ddtƒdjƒd }ytt	j
d	|ƒƒ}d
|kr5x€|d
D]q}yP|ddrì|j|ddƒn|dd
r|j|dd
ƒnWq½t
k
r-tƒq½Xq½Wnd|kr‰xE|dD]6}y|j|dƒWqLt
k
rtƒqLXqLWnWqXt
k
r¤tƒqXXqXWxÿ|D]÷}yÖd|ksÕd|dkrÛw°n|dd}|dkrûw°n|jd|ƒ}	|j|dƒ}
|j|dƒ}|d}d|dkrTw°n|dg}
d|kr§d|dkr§|
jd|dd|ddfƒn4d|krÛd|dkrÛ|
j|ddƒndj|
ƒg}
|
j|j|d ƒƒt|ƒ}itd!6|d6|	d6|
d"6d#j|
ƒd$6}|d%kra|j|ƒn*|d&kr}|j|ƒntd'|ƒWq°t
k
r¦tƒq°Xq°W|jjj|d3d4ƒ}xw|D]o}|jjj|d,ƒd-}|jjj|d.ƒd-jƒ}|jjj|d/ƒd-}|j|jjj|d0ƒd-ƒ}|j|jjj|d1ƒd-ƒ}
|j|jjj|d2ƒd-ƒ}|dkr®qÍn|jd|ƒ}	t|ƒ}itd!6|d6|	d6|
d"6|d$6}|d%kr|j|ƒqÍ|d&kr.|j|ƒqÍtd'|ƒqÍWdS(5NsBBCSport.exploreItemR]s.setPayload(s	</script>s"body":{s});iiÿÿÿÿs{%s}t
componentstpropstsupportingMediat	leadMediatsessionsRšR›RœRs/iplayer/vpid/%s/RRlRžRŸR˜R¡R¢s%s-%sR£R¤tformattedDurations | RhRiRas[/br]RmR¨R©sUnknown media type
%s
>>>>s<divRgsdata-media-types</divs"\sdata\-media\-type=["]([^"]+?)["]is$\sdata\-content\-type=["]([^"]+?)["]s"\sdata\-media\-vpid=["]([^"]+?)["]s\sdata\-title=["]([^"]+?)["]s!\sdata\-image\-url=["]([^"]+?)["]s&\sdata\-media\-duration=["]([^"]+?)["](s<divRgsdata-media-type(s</divRg(RRcRLRMRtRrR‰RŠRR‹RŒRÆRRRRnR_RqR°R;R>R±R²R~RNtlower(RKRuRxRyR‘R“R’R|R¼R]RaRlRžRmR{R¤((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytexploreItem;s”

,





*2

"%%%)cCstdƒ|d|_dS(NsBBCSport.listSubItemst	sub_items(RRÅ(RKRu((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytlistSubItemsŽs
cCs¾tdƒtdƒ}tdƒ}tjjjjr`t|jkr\t	|j
ƒt|_ntSd|jks¥|jtjjj
jks¥|jtjjjjkrºtjjj
j|_tjjjj|_t	|j
ƒt|_d|_d|jjƒksd|jjƒkrtS|j|jdƒƒ\}}|spt|ƒtdƒ}tƒj|ddƒtS|jd	}|j|ƒyý|jd
tj|jddƒd
ƒd}|j|ƒ\}}|st|ƒtdƒ}tƒj|ddƒtS|jd	}|jjj|d*d+ƒ\}}|sjt|ƒtdƒ}tƒj|ddƒtS|jj|jjj|dƒd
j ddƒ|jj!|ƒƒ}|dkrÂ|}n|jjj"|ddƒ}	i}
xP|	D]H}|jjj|dƒd
}|jjj|dƒd
}
|
|
|<qêW|
j#i|jd6|jd6ƒt$|j%ƒ}t$|dƒ|d<|j&ƒ|dd<|jj|||
ƒ\}}|rVtdƒd|jd	kr|j'|jjj|d,d-ƒdƒ}tƒjtd#ƒd$|ddƒtSt(|_td%ƒ}tƒj|d&d'ƒ||_n0t|ƒtd(ƒ}tƒj|ddƒtSWnt)k
r¡t*ƒnXtd)|jƒ|jSdS(.NsBBCSport.tryTologin starts$Error communicating with the server.sData mismatch.Rs/sports

Error[1].terrori
R]s?ptrt=t?iis&userOrigin=sport&context=sports

Error[2].s<formRgs</forms

Error[3].saction=['"]([^'^"]+?)['"]s&amp;t&s<inputsname=['"]([^'^"]+?)['"]svalue=['"]([^'^"]+?)['"]tusernameRR*tReferers
tryTologin OKs/signins<psform-messages</ps
Login failed.s
sA TV License is required to watch BBC iPlayer streams, see the BBC website for more information: https://www.bbc.co.uk/iplayer/help/tvlicencetinfois

Error[4].s+EuroSportPlayer.tryTologin end loggedIn[%s](s<formRg(s</formRg(s<pRgsform-message(s</pRg(+RRRRRRRRrRBRR?RARCRRRtloginMessageRŠRcRnRtpushRoR^RDturllibtquotetsplitRLRMRpRNR`R\RtR=R;R@t
getMainUrlRqR>RR(RKtnetErrorMsgtdatErrorMsgRxRytmsgtcUrlR]t	actionUrltformDataReR|tnameRt
httpParams((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt
tryTologin’sˆ

*
		*

.
!C	
!
($	
cCsÔtd|ƒ|jƒg}d|dkr[|ji|dd6|dd6dd6ƒnu|j|dƒ\}}|s~|S|jjj|dd	tƒd}|jjj|d
dtƒdjƒd }|d
kr™y£t	t
jd|ƒd
tƒ}|drz|ddj
ƒdkrzd
|ddkrz|jd|ddƒ}|ji|ddd6|d6dd6ƒnWq™tk
r•tƒq™Xn|jjj|ddtƒdjƒdd!jƒ}|d
krÐyØg}t	t
j|ƒd
tƒ}x°|D]¨}|j|ddƒ}	xˆ|ddD]x}
|jd|
dƒ}||kr`q1n|j|ƒ|
djƒ}|jid||	fd6|d6dd6ƒq1WqWWqÐtk
rÌtƒqÐXn|S(NsBBCSport.getLinksForVideo [%s]s/vpid/R]RlRèitneed_resolves.setPayload(s	</script>s"body":{s});iÿÿÿÿRs{%s}RšRžR¨tpids/iplayer/vpid/%s/t
entityTypes"allAvailableVersions"s"holdingImage"t	smpConfigtitemsR¼tkinds[%s] %s(RRêRRcRLRMR‰RrRŠRR‹RŒR>RÒRnRRRqRl(RKRuturlTabRxRyR’R]t	uniqueTabR“RlR|Rè((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pytgetLinksForVideoësF
-",81
5

8
cCsEtd|ƒg}d|jj|ƒkrA|jj|ƒ}n|S(NsBBCSport.getVideoLinks [%s]i(RtuptcheckHostSupporttgetVideoLinkExt(RKtvideoUrlRñ((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt
getVideoLinkss
iRcCsÈtdƒtj|||||ƒ|jdƒ|jƒ|jjddƒ}|jjddƒ}|jjddƒ}td||fƒg|_|dkr¿|j	idd6dd	ƒnò|d	krá|j
|jdƒnÐ|d
kr|j|jdƒn®|dkr%|j|jdƒnŒ|dkrJ|j
|jd
dƒng|d
krl|j|jdƒnE|dkr‹|j|jƒn&|dkrª|j|jƒntƒtj|||ƒdS(NshandleService starttGBRèRRktmodes)handleService: >> name[%s], category[%s] tsub_menut	all_itemsRjtlive_guide_itemstexplore_itemt
list_itemsRÔ(RRt
handleServicetinformAboutGeoBlockingIfNeededRêtcurrItemR­RÅRAR}R€R”RÀRÂRÁRÓRÕRtendHandleService(RKtindextrefresht
searchPatternt
searchTypeRèRkRú((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyRs6


	N(t__name__t
__module__R7RQRURZR^RAR_RcR}R€R”RÀRÂRÁRÓRÕRêRóRøR(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyR!.s&					&			B		8	S		Y	(	tIPTVHostcBseZd„ZRS(cCstj|tƒtgƒdS(N(RR7R!R>(RK((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyR7As(RR	R7(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyR
?s(!t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRRRt.Plugins.Extensions.IPTVPlayer.components.ihostRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRRt;Plugins.Extensions.IPTVPlayer.libs.youtube_dl.extractor.bbcRRÞR	R
R‹Rt
simplejsontComponents.configRRR
RrRRRRRR R!R
(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostbbcsport.pyt<module>s$"
		ÿÿ