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@séddlmZddlmZmZddlmZmZm	Z	m
Z
ddlmZddl
Z
ddlZddlmZyddlZWnek
r¯ddlZnXd„Zdefd	„ƒYZd
efd„ƒYZdS(iÿÿÿÿ(tTranslateTXT(t	CHostBasetCBaseHostClass(tprintDBGtprintExctCSelOneLinktbyteify(tgetDirectM3U8PlaylistN(t	timedeltacCsdS(Nshttps://uktvplay.uktv.co.uk/((((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pytgettytulstUKTVPlaycBs‰eZd„Zidd„Zd„Zd„Zdd„Zd„Zdd„Z	d„Z
d„Zd	„Zd
„Z
dddd
„ZRS(cCstj|idd6dd6ƒd|_d|_d|_i|jd6d	d
6dd6d
d6|jƒd6|jƒd6|_t|jƒ|_|jj	idd6d
d6dd6dd6ƒi|_
i|_g|_i|jd6t
d6t
d6t
d6|jd6|_d|_dS(Nsuktvplay.uktv.co.ukthistorysuktvplay.uktv.co.uk.cookietcookiesLhttps://uktv-static.s3.amazonaws.com/prod/uktvplay/img/logo.png?9b58be2039a7sHMozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0shttps://uktvplay.uktv.co.uk/s
User-Agentt1tDNTs?text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8tAccepts
gzip, deflatesAccept-EncodingtReferertOrigintXMLHttpRequestsX-Requested-Withs0application/x-www-form-urlencoded; charset=UTF-8sContent-Types.application/json, text/javascript, */*; q=0.01theadert
use_cookietload_cookietsave_cookiet
cookiefilesGhttp://vschedules.uktv.co.uk/mobile/v2/%splatform=android&app_ver=4.3.2(Rt__init__tDEFAULT_ICON_URLt
USER_AGENTtMAIN_URLt
getMainUrltHEADERtdicttAJAX_HEADERtupdatet
cacheLinkstcacheFilterstcacheFiltersKeystTruetCOOKIE_FILEt
defaultParamsttmpUrl(tself((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyRs			B,			2cs–|ikrtˆjƒ}nˆ}ˆjjˆƒ‰‡‡fd†}iˆjjˆƒd6ˆjd6ˆjd6|d6|d<ˆjjˆ||ƒS(Ncs*ˆjj|ƒr|Stjˆ|ƒSdS(N(tcmt
isValidUrlturlparseturljoin(turl(tbaseUrlR((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyt_getFullUrl/stdomaintcookie_files
User-Agenttfull_url_handletcloudflare_params(	RR&R)tiriToUritupt	getDomainR%RtgetPageCFProtection(R(R.t	addParamst	post_datatorigBaseUrlR/((R.R(sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pytgetPage+s8cCsd|S(Ns+most_popular?channel=%s&carousel_limit=200&((R(tchannel((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyt
getChannelUrl5scCsCtdƒidd6dd6|jdƒd6idd6dd6|jd	ƒd6idd6d
d6|jdƒd6idd6dd6|jd
ƒd6idd6dd6dd6idd6dd6dd6idd6dd6dd6idd6dd6dd6idd6tdƒd6td6idd6tdƒd6g
|_|j|j|ƒdS(NsUKTVPlay.listMainMenut
list_itemstcategorytDAVEttitletdaveR-tREALLYtreallyt	YESTERDAYt	yesterdaytDRAMAtdramasBOX SETs#collections?collection_type=boxset&tCOLLECTIONSs'collections?collection_type=collection&tlist_genrestGENRESsgenres?tlist_letterssA-Zsbrand_list?channel=&tsearchtSearchtsearch_itemtsearch_historysSearch history(RR=t_R$tMAIN_CAT_TABtlistsTab(R(tcItem((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pytlistMainMenu8s
!!!! c
Cstd|ƒyß|j|d}|dkrk|j|ƒ\}}|sMdSttj|ƒdtƒ}nx~|D]v}d|djƒ}|j	|dƒ}|j
|dƒ}itd6|d	6|d6|d6|d
6}	|j|	ƒqrWWnt
k
rtƒnXdS(NsUKTVPlay.listGenres [%s]R-tsgenre_items?genre_name=%s&tnameRAtimagetgood_for_favR?ticon(RR'tNoneR;RtjsontloadsR$tuppertcleanHtmlStrtgetFullIconUrltFalsetaddDirt	ExceptionR(
R(RTtnextCategorytdataR-tststitemRARZtparams((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyt
listGenresIs 
)
c	CsÙtd|ƒy¬|j|d}|j|ƒ\}}|sAdSttj|ƒdtƒ}xZ|D]R}d|d}|j|ƒ}itd6|d6|d6|d6}|j	|ƒqcWWnt
k
rÔtƒnXdS(	NsUKTVPlay.listLetters [%s]R-RVsbrand_list?channel=&letter=%s&iRYR?RA(RR'R;RR\R]R$R_RaRbRcR(	R(RTRdR-RfReRgRARh((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pytlistLetters]s
"
cCszy[|dkr]|j|d}|j|ƒ\}}|s?dSttj|ƒdtƒ}nxú|D]ò}|dkr|qdng}|jddƒ}|jddƒ}	|j|jddƒƒ}
|dkrÚ|d}n|	dkró|d}	n|
dkr|j|dƒ}
ng}d|jd	dƒkrG|j	|d	ƒnd|jd
dƒkrs|j	|d
ƒnt
|ƒr˜|j	dj|ƒƒnd|jddƒkrÔ|j	td
ƒ|dj
ƒƒnd|jddƒkr
|j	tdƒ|dƒndj|ƒ}itd6|d6|
d6|d6|d6|	d6}
|j|
ƒqdWWntk
rutƒnXdS(NR-RVRXttop_house_numberRAtbrand_imaget	house_numt
brand_nametguidance_aget
guidance_textt R<sChannel: %stvideo_countsVideos count: %ss[/br]RYR?RZtdesctf_house(R[R'R;RR\R]R$tgetR_tappendtlentjoinRQRARbRcR(R(RTRdReR-RfRgtdescTabRZthouseRAtpgRsRh((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyt	listItemsosH


$0
cCsZtd|ƒy-|jd|d}|j|ƒ\}}|sEdSttj|ƒdtƒd}|d}t|djƒƒ}|j	dtƒxo|D]g}|d|}	t
|ƒ}
|
jitd	6|d
6t
dƒ|d6|	d
6|d6ƒ|j|
ƒq›Wt|jƒdkr:|jjƒ}|j|ƒnWntk
rUtƒnXdS(NsUKTVPlay.listSeasons [%s]sitem_details?vod_ids=%s&RtRVitbrand_idtavailable_seriestreverseRYR?s	Season %sRAtf_series_idt
f_brand_idi(RR'R;RR\R]R$tlisttkeystsortRR RaRQRbRwtcurrListtpoptlistEpisodesRcR(R(RTRdR-RfRetbrandIdRƒtkeytseriesIdRhRg((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pytlistSeasons’s(

:
c	Cs¶td|ƒy‰|jd|d|df}|j|ƒ\}}|sOdSttj|ƒdtƒ}x)|dD]}|d}|j|dƒ}|j|d	ƒ}|j|d
ƒ}	|d}
|d}d
t	|dƒkrý||	krý|}n(d||
j
dƒ|j
dƒ|	f}|j|dƒ}g}
g}d|jddƒkrp|j
|dƒnd|jddƒkrœ|j
|dƒnt	|ƒrÁ|
j
dj|ƒƒn|
j
tdƒttdt|dƒƒƒƒd|jddƒkr-|
j
tdƒ|djƒƒn|
j
|jddƒƒdj|
ƒ}itd6|d6|d6|d6|d6|d 6}|j|ƒquWWntk
r±tƒnXdS(!NsUKTVPlay.listEpisodes [%s]s(brand_episodes?brand_id=%s&series_id=%s&RR€RVtepisodestbrightcove_video_idt
episode_imageRnt
episode_titlet
series_txttepisode_txtis%s - s%se%s %sitwatch_online_linkRoRpRqsDuration: %stsecondstcontent_durationR<sChannel: %stteaser_texts[/br]RYRAt
f_video_idR-RZRs(RR'R;RR\R]R$R`R_Rwtzfillt
getFullUrlRuRvRxRQtstrRtintRAtaddVideoRcR(R(RTR-RfReRgtvidIdRZtsTitleteTitletsNumteNumRARyR{RsRh((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyR‡«sF


"	(0$0
cCsëtd|||fƒyµ|jdtj|ƒ}|j|ƒ\}}|sSdSttj|ƒdtƒ}|j	|d|j
dgƒƒ|j	|d|j
dgƒƒ|j|d|j
dgƒƒWntk
ræt
ƒnXdS(	NsEUKTVPlay.listSearchResult cItem[%s], searchPattern[%s] searchType[%s]ssearch?q=%s&RVtlist_seasonstbrandstcollectionsR>tgenres(RR'turllibtquoteR;RR\R]R$R|RuRiRcR(R(RTt
searchPatternt
searchTypeR-RfRe((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pytlistSearchResultÒs#
cCsYtd|ƒg}d|d}t|dtƒ}d„}t||dƒjƒ}|S(NsUKTVPlay.getLinksForVideo [%s]sNhttp://c.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=%sR–tcheckContentcSs+yt|dƒSWntk
r&dSXdS(Ntbitratei(RšRc(titemLink((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyt__getLinkQualityés
iÿàõ(RRR$RtgetSortedLinks(R(RTtretTabtvideoUrlt_UKTVPlay__getLinkQuality((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pytgetLinksForVideoás	iRVc	Csötdƒtj|||||ƒ|jdƒ|jjddƒ}|jjddƒ}|jjddƒ}td||fƒg|_|dkr¯|jidd6ƒn0|dkrÑ|j	|jd	ƒn|d
kró|j
|jdƒnì|dkr|j|jdƒnÊ|d	kr7|j|jdƒn¨|dkrV|j
|jƒn‰|dkr¢t|jƒ}|jitd6dd6ƒ|j|||ƒn=|dkrØ|jidd6d
d6dtdƒƒntƒtj|||ƒdS(NshandleService starttGBRWRVR?tmodesKhandleService: |||||||||||||||||||||||||||||||||||| name[%s], category[%s] R>R¡RJRLt
list_episodesRMtsearch_next_pageRORPRRssType: (ssearchR¶(RRt
handleServicetinformAboutGeoBlockingIfNeededtcurrItemRuR…R[RUR|RiRjR‹R‡RR RaR©tlistsHistoryRQRtendHandleService(	R(tindextrefreshR§R¨RWR?R´RT((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyR·ñs8

	*N(t__name__t
__module__RR[R;R=RURiRjR|R‹R‡R©R²R·(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyR
s	
			#		'		tIPTVHostcBseZd„ZRS(cCstj|tƒtgƒdS(N(RRR
R$(R(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyRs(R¾R¿R(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyRÀs(t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRRQt.Plugins.Extensions.IPTVPlayer.components.ihostRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRRt2Plugins.Extensions.IPTVPlayer.libs.urlparserhelperRR+R¥tdatetimeRR\Rct
simplejsonR	R
RÀ(((sK/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostuktvplay.pyt<module>s"
	ÿ