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	ddl
mZddlm
ZddlmZddlmZddlZddlZdd	lmZmZd
„Zdefd„ƒYZd
efd„ƒYZdS(iÿÿÿÿ(tTranslateTXT(t	CHostBasetCBaseHostClass(tprintDBGtprintExct
MergeDicts(tstrwithmeta(tloads(tph(tgetDirectM3U8PlaylistN(tdatetimettzinfocCsdS(Nshttps://it.dplay.com/((((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytgettytulstDplayitcBs§eZd„Zidd„Zed„Zd„Zd„Zd„Z	d„Z
dd„Zd	„Zd
„Z
d„Zd„Zd
„Zdd„Zdddd„ZRS(cCstj|ƒd|_d|_|jd|_|jd|_|jd|_|jd|_|jd|_|jd|_	|jd	|_
|jd
|_|jd|_|jd|_
|jd
|_|jd|_iidd6d6|_d|_dS(Nshttp://it.dplay.com/s$https://dplayproxy.azurewebsites.nets/api/config/inits/api/Channel/GetLists/api/Channel/GetById?id={0}s/api/Show/GetLists/api/Show/GetById/?id={0}s /api/Show/GetByGenre?genreId={0}s/api/Video/GetById/?id={0}s/api/video/GetVideoPopolaris!/api/video/GetUltimiVideoAggiuntis/api/Playlist/GetLists/api/Playlist/GetById/{0}s/api/genre/GetListsokhttp/3.3.0s
User-Agenttheadert(Rt__init__tMAIN_URLtMAIN_SERVER_URLt	TOKEN_URLtCHANNEL_MENU_URLtCHANNEL_URLtPROGRAMS_URLtSHOW_URLtSHOWBYGENRE_URLt	VIDEO_URLtPOPULAR_URLtLAST_ADDED_URLtPLAYLIST_MENU_URLtPLAYLIST_URLt	GENRE_URLt
defaultParamstAccessToken(tself((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyRs"
		cCs4|ikrt|jƒ}n|jj|||ƒS(N(tdictRtcmtgetPage(R!turlt	addParamst	post_data((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyR$9scCsï|jdkrltdƒ|j|jƒ\}}|s;dSt|ƒ}|dd|_td|jƒn|jdkrë|jdkrëidd6dd	6|jd6}|rçd
j|jd|jjdƒt|jƒ!ƒ|d
<n|SdS(NRsDplay init and get access tokentDataR s Dplay Access token %s sokhttp/3.3.0s
User-Agents
gzip, deflatesAccept-Encodings
Bearer {0}is__!__t
Authorization(	R RR$Rt
json_loadstNonetformattindextlen(R!t
add_bearertststdatatresponsetheaders((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyt	getHeader?s


9c
CsJtd|ƒg}|ddkrd|kr:|dnd}|d}|jtƒ}|dksq|dkrtdƒ|S|j|i|d6ƒ\}}|s¨dSt|ƒ}|d	d
ddd}	t|	|ƒ}	|jt|	d
t	dtdtddƒƒn;td|d|dfƒ|j
i|dd6dd6ƒ|S(NsDplay getLinksForVideo [%s]tcategorytvideotvideo_idRR%sDplay wrong initializationRR1t
attributest	streamingthlstcheckExttvariantChecktcheckContenttsortWithMaxBitrateiÿàõs5Dplay: video form category %s with url %s not handledtlink1tname(RR4tTrueR+R$R*RtextendR	tFalsetappend(
R!tcItemtlinksTabR7R%thR0R1R2t
stream_url((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytgetLinksForVideoUs&

.cCsMidd6dd6idd6dd6idd6dd6g}|j||ƒdS(	NtondemandR5sProgrammi on demandttitleschannel-menutCanalis
genre-menutGeneri(tlistsTab(R!REtMAIN_CAT_TAB((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistMainMenurscCstdƒ|jƒ}|dks.|dkr<tdƒdS|j|ji|d6ƒ\}}|shdSt|ƒ}xŠ|dD]~}|d}d|kr¥|dnd}|dd	d
}	|d}
idd
6|d6|d6|	d6|
d6}|j|ƒqWdS(NsDplay start channel listRsDplay wrong initializationRR(tNametDescriptiontImagesitSrctIdtchannelR5RKtdescticontid(RR4R+R$RR*taddDir(R!RERGR0R1R2RVRKRWRXtch_idtparams((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistChannels{s 

"

)cCsatdƒ|jƒ}|dks.|dkr<tdƒdS|d}|j|jj|ƒi|d6ƒ\}}|s{dSt|ƒ}|d}xÉ|dD]½}|d}	d	|krð|d	}
|jt|id
d6|	d6|
d6ƒƒqœd
|kr|d
nd}|dkrœ|dkrœ|jt|idd6|	d6|d6|d6ƒƒqœqœWdS(NsDplay start single channel listRsDplay wrong initializationRYRR(t	MenuItemstLabelt
ResourceIdtplaylistR5RKtUrls/api/video/GetVideoPopolaris!/api/video/GetUltimiVideoAggiuntitchannel_listR%(	RR4R+R$RR,R*RZR(R!RERGR[R0R1R2RVtitemRKtresource_idR%((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistChannelById‘s&


+


.t0cCs‹tdƒ|jt|idd6dd6|d6ƒƒxOtdƒD]A}|jt|idd6ttdƒ|ƒd6|d6ƒƒqBWdS(	NsDplay start alphabetical indextprograms_azR5s0-9RKR[itA(RRZRtrangetchrtord(R!RER[ti((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistPrograms­s
+cCsâtdƒ|d}|d}|jƒ}|dksB|dkrPtdƒdS|j|ji|d6ƒ\}}|s|dSt|ƒ}xS|dD]G}|d}	|d	ksÃ||d
dkr“|	d jƒ|krJd
|krï|d
nd}
|ddd}|d}idd6|	d6|
d6|d6|d6}
|j|
ƒqÚ|dkrÚ|	d jƒrÚd
|kr||d
nd}
|ddd}|d}idd6|	d6|
d6|d6|d6}
|j|
ƒqÚq“q“WdS(NsDplay start programs listRKR[RsDplay wrong initializationRR(RQRgtChannelRUiRRRSiRTtprogramR5RWRXRYs0-9(	RR4R+R$RR*tupperRZtisdigit(R!REtletterR[RGR0R1R2tshowRKRWRXtshow_idR\((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistProgramsByLetter¸s4



"
 
)
)cCs |d}|d}td||fƒ|jƒ}|dksL|dkrZtdƒdS|jj|ƒ}|j|i|d6ƒ\}}|s•dSt|ƒ}t|ddƒd	krœ|dd
d	d}	xÈ|ddd	dD]­}
d
|
kr|
d
nd}d|
krèx||
dD]m}|d}
|d}|d}|d}t}d|krÀ|dt	dƒd}xD|dD]5}|dkr¥d}t
}n|}|d|}q„Wnd|krtj|ddƒ}dj|d|j
dƒƒ}ndj|
t	d ƒ|t	d!ƒ|ƒ}|r=|d"}n|d#}|jt|i|d6|
d$6|d%6|d&6|d'6|	d(6d)d*6ƒƒq!WqèqèWndS(+NRKRYs0Dplay start item list of program '%s' with Id %sRsDplay wrong initializationRR(tSectionsiRSRTtItemstSeasonNumberRgtEpisodesRQRRt
EpisodeNumberRUtPackagess
t:tPremiums
Dplay plust tPublishEndDates%Y-%m-%dT%H:%M:%SZs{0}
{1} {2}sDisponibile fino a s%d/%m/%Ys{0} ({1} {2} - {3} {4})tSeasontEpisodes (PLUS)tPlaybackInfoUrlR@RWR7R%RXR6R5(RR4R+RR,R$R*R.RCt_RAR
tstrptimetstrftimetaddVideoR(R!RERKRuRGR%R0R1R2RXtseasont
season_numberR6R@RWtnum_episodeR7tplustptpptdatetvideoUrl((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistProgramItemsÚsN






	!'

cCsótdƒ|jƒ}|dks.|dkr<tdƒdS|j|ji|d6ƒ\}}|shdSt|ƒ}xx|dD]l}|d}|ddd	}|d
}	|d}
idd
6|d6|d6|
d6|	d6}|j|ƒqWdS(NsDplay start genres listRsDplay wrong initializationRR(RQRSiRTRbRUtgenreR5RKRXRYR%(RR4R+R$RR*RZ(R!RERGR0R1R2R‘RKRXR%tgen_idR\((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyt
listGenress 

"


)c
Cstdƒ|d}|jƒ}|dks8|dkrFtdƒdS|j|jj|ƒi|d6ƒ\}}|s{dSt|ƒ}xŠ|dD]~}|d}d|kr¸|dnd}	|d	d
d}
|d}id
d6|d6|	d6|
d6|d6}|j|ƒq’WdS(NsDplay start show list by genreRYRsDplay wrong initializationRR(RQRRRSiRTRURpR5RKRWRX(RR4R+R$RR,R*RZ(
R!RER’RGR0R1R2RtRKRWRXRuR\((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistShowsByGenre's"


+

)c
Cs9tdƒ|d}|jƒ}|dks8|dkrFtdƒdS|j|jj|ƒi|d6ƒ\}}|s{dSt|ƒ}x«|ddD]›}|dd	d
}|d}	|d}
|d
}|d}td|	|fƒ|jt|i|	d6|	d6|
d6|d6|d6|d6dd6ƒƒq–WdS(NsDplay show playlistRYRsDplay wrong initializationRR(RxRSiRTRQRRRURƒs*add video '%s' with playback info url '%s'RKR@RWR7R%RXR6R5(	RR4R+R$RR,R*R‡R(
R!REtlist_idRGR0R1R2R6RXRKRWR7R((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytshowPlaylist>s$


+



cCs‚tdƒ|jƒ}|dks.|dkr<tdƒdS|j|ji|d6ƒ\}}|shdSt|ƒt|ƒ}dS(NsDplay start popular listRsDplay wrong initializationR(RR4R+R$RR*(R!RER[RGR0R1R2((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pytlistPopularWs

"
iRc	CsHtdƒtj|||||ƒ|jdƒ|jjddƒ}|jjddƒ}|jjddƒ}|jjddƒ}td||fƒg|_|dkrÄ|jidd6ƒnm|d	krã|j	|jƒnN|d
kr|j
|jƒn/|dkr!|j|jƒn|dkr@|j|jƒnñ|d
kr_|j
|jƒnÒ|dkr~|j|jƒn³|dkr|j|jƒn”|dkr¼|j|jƒnu|dkrÛ|j|jƒnV|dkr*|jjddƒdkr1|j
|j|jjddƒƒq1ntƒtj|||ƒdS(NsDplay handleService starttITR@RR5tmodessub-types)handleService: >> name[%s], category[%s] schannel-menuRJtpopularRhRpRVs
genre-menuR‘RaRcR%s/api/show/GetListR[Rg(RRt
handleServicetinformAboutGeoBlockingIfNeededtcurrItemtgettcurrListR+RPR]RnR—RvRRfR“R”R–RtendHandleService(	R!R-trefresht
searchPatternt
searchTypeR@R5R™tsubtype((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyR›esD

	(N(t__name__t
__module__RR+R$RCR4RIRPR]RfRnRvRR“R”R–R—R›(((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyR
s							"	7			tIPTVHostcBseZd„ZRS(cCstj|tƒtgƒdS(N(RRR
RA(R!((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyR”s(R¥R¦R(((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyR§’s(t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRR„t.Plugins.Extensions.IPTVPlayer.components.ihostRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtypesRt*Plugins.Extensions.IPTVPlayer.libs.e2ijsonRR*t"Plugins.Extensions.IPTVPlayer.libsRt2Plugins.Extensions.IPTVPlayer.libs.urlparserhelperR	treturllibR
RRR
R§(((sJ/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostdplayit.pyt<module>s	ÿy