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
Z
mZddlmZddlmZddlZddlZddlZddlZddlZddlZdd	lmZd
„Zd„Zdefd
„ƒYZdefd„ƒYZdS(iÿÿÿÿ(tTranslateTXT(t	CHostBasetCBaseHostClass(tprintDBGtprintExct
MergeDicts(tstrwithmeta(tgetDirectM3U8PlaylisttgetMPDLinksWithMeta(t
js_execute(tloadsN(tdatetimecCs
g}|S(N((t
optionList((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt
GetConfigListscCsdS(Nshttp://spiegel.tv/((((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pytgettytul"st	SpiegelTvcBs›eZd„Zidd„Zdd„Zd„Zd„Zd„Zdd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
ddd„ZRS(cCstj|idd6dd6ƒd|_d|_d|_i|jd6d	d
6dd6d
d6|jƒd6|jƒd6|_t|jƒ|_|jj	idd6d
d6dd6dd6ƒi|_
i|jd6td6td6td6|jd6|_
idd6|_dS(Ns
spiegel.tvthistorysspiegel.tv.cookietcookiesHMozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0shttp://www.spiegel.tv/s@https://images-na.ssl-images-amazon.com/images/I/31bnL4xLAkL.pngs
User-Agentt1tDNTs	text/htmltAccepts
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
cookiefilet748t	client_id(Rt__init__t
USER_AGENTtMAIN_URLtDEFAULT_ICON_URLt
getMainUrltHTTP_HEADERtdicttAJAX_HEADERtupdatet
cacheLinkstTruetCOOKIE_FILEt
defaultParamst	oneconfig(tself((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyR's			B,	2cCs4|ikrt|jƒ}n|jj|||ƒS(N(R%R+tcmtgetPage(R-tbaseUrlt	addParamst	post_data((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyR/4scCstj||jddƒ|ƒS(Ns.webps.jpg(RtgetFullIconUrltreplace(R-ticonR0((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyR38scCs˜tdƒ|j|jƒƒ\}}|rî|jjj|ddƒd}tjdƒj|ƒ}t	|ƒdkrîyY|j
|dd!d	ƒd	}t|ƒ}|d
d	|d<d|d
<|j|dƒWqët
k
rçtƒqëXqînidd
6tdƒd6td6idd
6tdƒd6g}t|ƒ}|jid
d6td6dd
6tdƒd6|jƒd6ƒ|jjd	|ƒ|j||ƒdS(NsSpiegelTv.listMainMenus<navt>tinnerheaders</navis#(<li[^>]*?>|</li>|<ul[^>]*?>|</ul>)iÿÿÿÿitlisttc_treetlist_categoriestcategoryt
list_itemstsearchtSearchttitletsearch_itemtsearch_historysSearch historyttypetgood_for_favtlist_main_itemstMainturl(s<navR6R7(s</navR6(RR/R#R.tphtgetDataBeetwenNodestretcompiletsplittlent	listToDirR%tlistCategoriest	ExceptionRt_R)R'tFalsetcurrListtinserttlistsTab(R-tcItemtststdatatcTreetparamstMAIN_CAT_TAB((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pytlistMainMenu;s(


<cCsºtdƒy‘|d}x€|dD]t}|j|dƒ}|j|jjj|ddƒdƒ}d|krµt|ƒ}|jitd6|d	6|d
6|d6ƒ|j	|ƒq"d|kr'|jj
|ƒr–|dkr–t|ƒ}|jitd6|d	6|d
6|d6ƒ|j	|ƒq–q"t|dƒd
kr"|dkr"t|ƒ}|jitd6|ddd6|d
6|d6ƒ|j	|ƒq"q"WWntk
rµt
ƒnXdS(NsSpiegelTv.listCategoriesR9R8tdatshref=['"]([^'^"]+?)['"]itlivestreamsRCR;R?RFti(RtcleanHtmlStrt
getFullUrlR.RGtgetSearchGroupsR%R'RQtaddDirt
isValidUrlRLROR(R-RUtnextCategoryRXtitemR?RFRY((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyRNRs*

)))"1
cCs\td|ƒ|j|dƒ\}}|s1dS|jjj|ddƒ}x	|D]}|j|jjj|dd	tƒd
ƒ}|j|jjj	|ddƒd	ƒ}|jjj|d
ƒd
}|jjj|dƒd
}	|j
d||	fƒ}
t|ƒ}|jitd6|d6|d6|
d6|d6|d6|	d6ƒ|j
|ƒqSWdS(NsSpiegelTv.listMainItems [%s]RFs<h2R6th1s<divtcleareds\ssrc=['"]([^'^"]+?)['"]iisheader-texts</divs#data\-navigateto=['"]([^'^"]+?)['"]s&data\-navigateparam=['"]([^'^"]+?)['"]s/%s/%sRCR;R?R5tf_methodtf_param(s<h2R6Rf(s<divR6Rg(s<divR6sheader-text(s</divR6(RR/R.RGtgetAllItemsBeetwenNodesR3RaR)R_RHR`R%R'Rb(R-RURdRVRWReR5R?tmethodtparamRFRY((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt
listMainItemsis
+(>cCs|dkr2|j|dƒ\}}|s2dSng}|jjj|d
dtƒ}x+|D]#}d|kr]|j|ƒPq]q]W|jdƒtdj|ƒƒ}|drd	|d
kry*|j	j
t|djƒdt
ƒƒWqtk
rtƒqXndS(NRFs<scriptR6s</scriptt
_oneconfigs"print(JSON.stringify(_oneconfig));s
RVitcodeRWR^(s<scriptR6(s</scriptR6(tNoneR/R.RGRjRQtappendR	tjoinR,R't
json_loadststripR)ROR(R-RURWRVtjscodeRetret((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt_fillOneConfigys"


*
cCs„yedtjddƒttjƒƒtjddƒtjddƒf}t|jƒ}t|jƒ|d<|dji|dd	6d
d6ƒi
|d6d
d6dd6dd6dd6dd6dd6|jdd6d
d6|jdd6d
d6d
d6d
d6}d |jd!f}|j	|||ƒ\}}|s6dSt
|d
tƒd"|jd#<||jd#d$<Wntk
rt
ƒnXdS(%Ns
%d:%d:%d%diigˆÃ@iŸ†i	RRFRRsX-Request-Enable-Auth-Fallbacktnxp_devhR^t	nxp_userht0tprecidtplaylicenset1920tscreenxt1080tscreenys6.0.00t
playerversiontgwtgatewayt	adGatewaytlanguagetexplicitlanguagetaddTextTemplatest
addDomainDatat
addAdModels)https://api.nexx.cloud/v3/%s/session/initRtresulttsession_datat	device_id(trandomtrandinttintttimeR%R+R&R'R,R/RsR)ROR(R-RUtdeviceIdt	urlParamsR2RFRVRW((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt
_initiSessionŒs4F#


cCsY|djddƒdjdƒd}|j|ƒ|j|ƒ|dkrQdSyé|jdd	d
}|jddd}|jdd	d
}|jdd}|t|dƒ}|dt|ƒt|dƒ!}d}tjdj|||fƒƒj	ƒ}	t
|jƒ}
t
|jƒ|
d<|
dj
i|dd6dd6|d6|	d6ƒidd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6dd"6}d#|jd$||f}|j||
|ƒ\}
}t|ƒ}xI|d%d&D]9}|d'd(}|jd)|d	d*|d	d+fƒ}|j|d	d,ƒ}tjt|d	d-ƒƒjd.ƒ}d/|d	d0|d	d1|fg}|j|j|d	d2ƒƒ|j|j|d	d3ƒƒ|j|j|d	d4ƒƒitd56|d,6|d6|d66d7j|ƒd86}|j|ƒqüWWntk
rTtƒnXdS(9NRFs
/livestreams/iiÿÿÿÿt-iR^R‹tgeneraltcidtdevicetclienttokentclidRŒtbyidRRRsX-Request-Enable-Auth-Fallbacks
X-Request-CIDsX-Request-Tokensalanguage,channel,actors,studio,licenseby,slug,fileversion,subtitle,teaser,description,releasedatetadditionalfieldstaddInteractionOptionstaddStatusDetailstaddStreamDetailstaddFeaturestaddCaptionst	addScenestaddHotSpotst
addBumpersRWt
captionFormattaddItemDatas,https://api.nexx.cloud/v3/%s/playlists/%s/%sRRŠtitemdatat	imagedatatthumbs
/videos/%s-%stIDtslugR?treleasedates%d.%m.%Ys%s | %s | %struntimetstudiotsubtitletteasertdescriptionRCR5s[/br]tdesc(RKRwR“R,RRLthashlibtmd5Rrt	hexdigestR%R+R&R'R/RsR`R_Rt
fromtimestamptstrftimeRqR)taddVideoROR(R-RUt
playlistIdR–tclientTokentclientIdR‘tsecrettoptrequestTokenR’R2RFRVRWReR5R?tdateR±RY((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pytlistLiveVideos«sX'

!'1

)&&2
cCsÐtd|ƒd|jddƒkrŸ|j|dƒ\}}|rŸd|krŸ|jjj|dBdCƒd}|j|jjj|dd
ƒdƒ}|j|jjj	|ddt
ƒdƒ}|rœg}|j|jjj|ddƒdƒ}|r
|j|ƒn|jjj|dDdEt
ƒ}x3|D]+}|j|ƒ}|r2|j|ƒq2q2W|jt|i|d6|d6dj|ƒd6ƒƒdSqŸn|jddƒ}	|	dkrM|jddƒjdƒrè|j|ƒn|j|ƒtj|dƒjdjdƒ}
|jd|
dƒ}|jd|
dƒ}d}
n:|jddƒ}|jddƒ}|jd|	d ƒ}
y*|jd!ƒ}i|jd"d"6|jd#d$6|d%6|d&6|
d'6|jd(d)6d*d+6d*d,6d*d-6d*d.6|jd/d06}|j|d1|ƒ\}}|s-dSt|ƒd2}t|ƒg}|jjj|d3d4t
ƒdjd5ƒ}x(|D] }|j|jƒdd!ƒqW|jjj|jd
dƒdd6d7ƒ}xd|D]\}|j|jjj	|d8dt
ƒdƒ}|j|jjj	|d9dt
ƒdƒ}d}g}|jjj|dd:ƒ}xp|D]h}|j|ƒ}|dkr†q_nd;|kr›|}nd<|krº|jd|ƒq_|j|ƒq_Wit
d=6|d>d>6|d6|d6|d6dj|ƒd6}d|kr$|j|ƒqÕ|j|ƒqÕWd?t|ƒkr°t|ƒ}|j it
d=6t!d@ƒd6|	dd6|dd6|dd6|dAd6ƒ|j|ƒnWnt"k
rËt#ƒnXdS(FNsSpiegelTv.listItems [%s]s/videos/RFR^tplayerholders<sectionR6tinnercontents<spantvtiledetailsis<h1s</h1>s"<img[^>]*?\ssrc=['"]([^'^"]+?)['"]is<h2s</h2>s<divtvreddescs</divR?R5s[/br]R±tpages-livestreamt/RhRiiÿÿÿÿtf_startis/gateway/service.phpR–RtclientRkRltstartR‚tcgwRztisutuhstagctwbpR…tcdlangR2tcontentss
navigatemore(t)t,s<as</a>s\shref=['"]([^'^"]+?)['"]s\ssrc=['"]([^'^"]+?)['"]s</div>t	cardtitlet
tholderbottomRCR;is	Next pagei(s<sectionR6RÁ(s<spanR6RÂ(s<divR6RÃ(s</divR6($RtgetR/R.RGRHR_tgetDataBeetwenMarkersR3RaR)RqRjRQR·RRrtendswithR¿RwturlparsetpathRKR`R,RsRttgetAllItemsBeetwenMarkersRSRbRLR%R'RPROR(R-RURVRWR?R5R±ttmpttRÄturlPathRkRlRÈRFR2tnextPageParamsRetitRY((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt	listItemsàsŠ(+(
4

#	o
+
+
++
	=M
cCsrtd|||fƒt|ƒ}|jdƒtj|ƒ|d<d|d<d|d<||d<|j|ƒdS(	NsFSpiegelTv.listSearchResult cItem[%s], searchPattern[%s] searchType[%s]s/search/RFR<R;R=RhRi(RR%R`turllibt
quote_plusRß(R-RUt
searchPatternt
searchType((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pytlistSearchResult(s 


c.	s`td|ƒ|d}|jj|gƒ}t|ƒr=|Si|_g}|j|dƒ\}‰|sodS|j|ˆƒ|j|ƒ|jjj	ˆddt
ƒdjdƒdjƒ}|dkr÷|djd	dƒd
jdƒd}ny|j
dd
d}|j
ddd}|j
dd
d}	|j
dd}
|t|
dƒ}|dt|ƒt|
d
ƒ!}d}tjdj||	|fƒƒjƒ}
t|jƒ}t|jƒ|d<|dji|dd6dd6|d6|
d6ƒi	dd6dd6dd6dd6dd6dd 6dd!6dd"6d#d$6}d%|	||f}|j|||ƒ\}‰|s|dStˆdtƒd&‰yˆd'd(}Wntk
r½d}nXˆd
jd)ƒpÔd}tˆƒˆd*d+}|d,krˆd*‰ˆd-}d.‰dd/‡‡fd0†}|ƒ}d|k}d1||||rZd2ndfd3}|r|d4|7}nyä|d5d6ƒ}ˆjd7ƒ}|rb|jdƒ}|rbx¡|D]–}|jd8ƒ}t|ƒd9krïqÂnt|dpÿdƒ}|sqÂn|jid:||dfd;6|d<6d=||||d|fd6ƒqÂWqbnWntk
r}tƒnX|jd>d?„d@tƒt|ƒdkrÈt|dAdBt
dCdDƒ}nt|ƒdkrùt|dEdBt
dFtdGdDƒ}qùn÷ˆd*‰ˆd
dH}ˆdI} ˆdJdkrvdKt|ƒddd
…}!| dL|!dd9!|!d9dM!f7} n| dN||f7} dO| }"ˆd7jdƒ}ˆdP}#‡fdQ†}$g}%|#dRkr/|"d7}"xC|D];}&|&jd8ƒ}'|"|'d|$t|'dƒƒd7}"qãW|"dS7}"n'|#dTkrH|"jdUƒ}(|(j ƒ})dUj|(ƒ}*}"|*ˆdV}*|"dW7}"x¢|D]š}&|&jd8ƒ}'t|'dƒ}dX|)|'d|$|ƒf}+|jid:||'dfd;6|d<6|*dU|+d6ƒ|+dY|dZ},|"|,d7}"qˆW|"d
 d[|,jd8ƒd}"ntd\|#ƒ|jd>d]„d@tƒt|ƒdkr±|j!t|"ˆd^d_fdBt
dCdDƒƒnt|ƒdkrù|j!t|"ˆd`dafdBt
dFtdGdDƒƒnWntk
rtƒnXt|ƒr1||j|<nx(t"t|ƒƒD]}-d||-db<qDW|S(cNsSpiegelTv.getLinksForVideo [%s]RFsvideo.start(RÐiRÑiR^s/videos/iÿÿÿÿR”R‹R•R–R—R˜R™RŒRšRRRsX-Request-Enable-Auth-Fallbacks
X-Request-CIDsX-Request-TokensIlanguage,channel,actors,studio,licenseby,slug,subtitle,teaser,descriptionR›RœRRžR R¡R¢R£RWR¤s)https://api.nexx.cloud/v3/%s/videos/%s/%sRŠtprotectiondatattokentlanguage_rawt
streamdatatcdnTypetazuretazureLocatorshttp://nx%s%02d.akamaized.net/s-pcslxedD]9}ˆjd||jƒfƒ}|rd||fSqWˆ|tˆdjddƒƒfSdS(NR^tsscdnShield%sHTTP%sshttp%s://%stazureAccounttnexxplayplus(R^Rì(RÔtupperRR4(t
shieldTypetprefixtsecuret	cdnShield(t	AZURE_URLRW(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pytgetCdnShieldBasems

s%s%s/%s_src%s.ism/Manifestt	_manifests%ss	?hdnts=%stProgs-dtazureFileDistributiont:is[%s] %stnamettbrs%s%s/%s_src_%s_%d.mp4tkeycSs|dS(NRû((Re((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt<lambda>‰streverses(format=mpd-time-csf)tcheckExttsortWithMaxBandwidthiÿɚ;s(format=m3u8-aapl)tcheckContenttsortWithMaxBitratethashtoriginalDomaintapplyFolderHierarchys%04ds/%s/%sis/%s/%s_s	http://%stcdnProvidercsˆddkrd|SdS(NtapplyAzureStructureRs_%sR^((tp(t
streamData(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pytp0›staks.mp4.csmil/master.%stceRÅtcdnPathHTTPs0/asset.ism/manifest.%s?dcp_ver=aos4&videostream=s
%s%s%s.mp4s:%siès
&audiostream=sUnknwon cdnProvider [%s]cSs|dS(NRû((Re((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyRý·stcdnPathDASHtmpdt
cdnPathHLStm3u8tneed_resolve(#RR(RÔRLR/RwR“R.RGRÕRQRKRtR,RR²R³RrR´R%R+R&R'RsR)RORpRqRtsortRRtpoptextendtrange(.R-RUtcacheKeytcacheTabtretTabRVtvideoIdR–R¹RºR‘R»R¼R½R’R2RFtprotectionTokenR…tcdnRëRõtazureStreamBasetisMLtazureManifestUrltazureProgressiveBaseRøtfdstfdtssRûRtpsRìRÛRR
tformatstiRtkththttpBasetfilenametatidx((RôRWR	sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pytgetLinksForVideo1sø
	
5*!'1






	&
U
(

%



*


8"0:
cCsñtd|ƒt|ƒ}g}t|jjƒƒrÜx¤|jD]–}xtt|j|ƒƒD]r}||j||dkr_|j||djdƒsÍd|j||dd|j||d<nPq_q_Wq?Wnidd6|d6gS(NsSpiegelTv.getVideoLinks [%s]RFRút*tsel(RRRLR(tkeysRt
startswith(R-R0tvideoUrlturlTabRüR,((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt
getVideoLinksÆs /iR^c	Cs®tdƒtj|||||ƒ|jjddƒ}|jjddƒ}|jjddƒ}td||fƒi|_g|_|dkr«|jidd6ƒnì|dkrÍ|j	|jdƒnÊ|d	krï|j
|jdƒn¨|dkr|j|jƒn‰|dkrZt|jƒ}|j
itd6dd6ƒ|j|||ƒn=|d
kr|jidd6d
d6dtdƒƒntƒtj|||ƒdS(NshandleService startRúR^R;tmodes+handleService: |||| name[%s], category[%s] RDR<R:R=tsearch_next_pageR@RARR±sType: (ssearchR6(RRt
handleServicetcurrItemRÔR(RRRpR[RmRNRßR%R'RQRätlistsHistoryRPRtendHandleService(	R-tindextrefreshRâRãRúR;R5RU((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyR7Ös0
		*N(t__name__t
__module__RRpR/R3R[RNRmRwR“R¿RßRäR-R4R7(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyR%s	
					5	H			•	tIPTVHostcBseZd„ZRS(cCstj|tƒtgƒdS(N(RRRR)(R-((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyRûs(R=R>R(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyR?ùs(t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRRPt.Plugins.Extensions.IPTVPlayer.components.ihostRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtypesRt2Plugins.Extensions.IPTVPlayer.libs.urlparserhelperRRt)Plugins.Extensions.IPTVPlayer.tools.e2ijsR	t*Plugins.Extensions.IPTVPlayer.libs.e2ijsonR
RsR×RRIR²RàRRR
RRR?(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostspiegeltv.pyt<module>s$		ÿÕ