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@snddlmZddlmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZddlmZddlmZddlmZddlmZyddlZWnek
rçddlZnXdd	lmZdd
l m!Z!m"Z"m#Z#e"de$ƒe!j%j&_'d„Z(d
„Z)defd„ƒYZ*defd„ƒYZ+dS(iÿÿÿÿ(tTranslateTXT(tIHostt	CHostBasetCBaseHostClasstCDisplayListItemtRetHosttCUrlItemtCFavItem(tprintDBGtprintExct
GetLogoDirtGetFavouritesDirtmkdirstrmttouch(tIPTVFavourites(tIPTVChoiceBoxItem(tMD5(t
fileExistsN(thexlify(tconfigtConfigYesNotgetConfigListEntrytdefaultcCsig}|jttdƒtjjjƒƒtjjjjre|jttdƒtjjjƒƒn|S(NsAllow watched flag to be setsThe color of the viewed item(	tappendRt_Rtpluginst
iptvplayertfavourites_use_watched_flagtvaluetwatched_item_color(t
optionList((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyt
GetConfigLists
%(cCs
tdƒS(Nt
Favourites(R(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgettytul%sR!cBs†eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	d
d
d„Zd„Zd
„Z
d„ZRS(cCsQtdƒtj|ƒttƒƒ|_d|_d|_t	|_
d|_dS(NsFavourites.__init__tsGhttp://sarah-bauer.weebly.com/uploads/4/2/2/3/42234635/1922500_orig.png(RRt__init__RRthelpertNonethostthostNametFalset	guestModetDEFAULT_ICON_URL(tself((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR$*s

			cCsŒ||jkrtSyZtd|tƒtƒdgdƒ}|jƒ}t|tƒrl||_||_tSWnt	k
r‡t
ƒnXtS(Ns(Plugins.Extensions.IPTVPlayer.hosts.hosttIPTVHostiÿÿÿÿ(R(tTruet
__import__tglobalstlocalsR-t
isinstanceRR't	ExceptionR	R)(R,R(t_tempR'((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyt_setHost3s%		
cCs|j|d}|S(NR'(tcurrList(R,tindexR(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgetHostNameFromItem?scCs|jS(N(R*(R,((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytisQuestModeCscCs
t|_dS(N(R)R*(R,((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytclearQuestModeFscCsMtdƒ|jjƒ}|s#dS|jjƒ}|j|i|d6ƒdS(NsFavourites.listGroupstcategory(RR%tloadt	getGroupstlistsTab(R,R;tststdata((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyt
listGroupsIs
c	Cstdƒ|jj|dƒ\}}|s0dSi|jtj6|jtj6|jtj	6|j
tj6|jtj
6}x™tt|ƒƒD]…}||}|j|jdƒ}idd6|jd6|jd6|jd6|jd6|dd6|d	6}d|krŠ||ƒqŠqŠWdS(
NsFavourites.listFavouritestgroup_idtitemtnamettitleR'ticontdesctitem_idx(RR%t
getGroupItemstaddVideoRt
TYPE_VIDEOtaddAudiot
TYPE_AUDIOt
addPicturetTYPE_PICTUREt
addArticletTYPE_ARTICLEtaddDirt
TYPE_CATEGORYtrangetlentgetttypeR&RDR(t	iconimagetdescription(	R,tcItemR?R@ttypesMaptidxRCtaddFuntparams((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytlistFavouritesPs




Gc
Cs’td|ƒttjdgƒ}|jj|dƒ\}}|sI|S||d}td|jƒtj|jkr	d|_	d|_
g}|jj|j
ƒ}xG|D]?}|j	j|dƒ}|d}	|jt||	dƒƒq®Wttjd|ƒ}n…tj|jkrgd|_	d|_
g}|jtd	|j
dƒƒttjd|ƒ}n'|j|jƒrŽ|j	j|ƒ}n|S(
Ns#Favourites.getLinksForVideo idx[%r]RRBRHs!>>>>>>>>>>>>>>>>>>>>>>>>>>>> [%s]RDturlisdirect link(RRtERRORR%RItresolverRtRESOLVER_URLLPARSERR&R'R(tuptgetVideoLinkExtR@tcleanHtmlStrRRtOKtRESOLVER_DIRECT_LINKR5tgetLinksForFavourite(
R,RZtretR?R@RCtretlistturlListRDR`((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgetLinksForVideoas4		

		cCs<y|jj|ƒSWn!tk
r7ttjdgƒSXdS(NR(R'tgetResolvedURLR3RRa(R,R`((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyRns
iR#cCs^tdƒtj|||||ƒ|jjddƒ}|jjddƒ}g|_t|_d|krd|_	d|_
|jdƒnºd|kr¬|j|jƒn›d|jkr@|j
j|jdƒ\}}|rG||jd}	|j|jdƒr=|j	j|	ƒ}
tj|
jkr:t|_q:q=qGntƒtj|||ƒdS(	NsFavourites.handleService startRDR;R#tlist_favouritesR'RBRH(RRt
handleServicetcurrItemRVR&R6R)R*R'R(RAR_R%RIR5tsetInitFavouriteItemRRgtstatusR.R	tendHandleService(R,R7trefresht
searchPatternt
searchTypeRDR;R?R@RCRj((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyRpƒs,
				cCs¬t}y‡|j|}|jj|dƒ\}}|rŒ||d}|j|dƒrŒ|jj|ƒ}tj|j	kr‰t
}q‰qŒnWntk
r§tƒnX|S(NRBRHR'(
R)R6R%RIR5R'RrRRgRsR.R3R	(R,R7RjRZR?R@RC((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytprepareGuestHostItemžs

cCs|jS(N(R'(R,((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgetCurrentGuestHost­scCs|jS(N(R((R,((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgetCurrentGuestHostName°s(t__name__t
__module__R$R5R8R9R:RAR_RmRnRpRxRyRz(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR!(s												R-cBs¹eZd„Zd„Zd„Zd„Zd„Zdd„Zdd„Zd„Z	d	„Z
ddd
„Zd„Z
dddd„Zdd
„Zdd„Zdd„Zdd„ZRS(cCsDtj|tƒtgƒd|_tjjj	j
|_t|_dS(N(
RR$R!R)R&t	cachedRetRRRRRtuseWatchedFlagtrefreshAfterWatchedFlagChange(R,((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR$µs	cCsœ|jjƒr't|jjƒƒ}nt|jj|ƒƒ}d}|dkr˜tƒ}dt|jƒt|jƒf}t	||ƒƒ}||fS|S(NR#s%s_%s(NR#(
R'R9tstrRzR8R&RRDRWR(R,R7tdisplayItemR(RjthashAlgthashData((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgetItemHashData»s	"
cCs:|j||ƒ}|dkr2ttd|ƒƒStSdS(NsIPTVWatched/%s/.%s.iptvhash(R„R&RRR)(R,R7RRj((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyt
isItemWatchedÊscCsµ|jr±x™tt|jƒƒD]‚}|j|jtjtjgkr|j|jr|j	||j|ƒr¡t
|j|_|j|j|j|_q¡qqW||_n|S(N(
R~RTRURRWRRKRMt	isWatchedR…R.RDR}(R,RjR\((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytfixWatchedFlagÑs	3$cCsQ|dkrMttdƒd|dƒrMtd|ƒ}t|ƒrMtSntS(NtIPTVWatcheds/%s/isIPTVWatched/%s/.%s.iptvhash(R&RRRR.R)(R,RƒtflagFilePath((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyt_createViewedFileÜs
*icCsÈtj}g}|jr¸|j}|j|jtkr¸|j|jtj	tj
gkr¸|j||j|ƒ}|j|ƒrµt|jj|_tj
}dg}t|_qµq¸nt|d|ƒS(NRuR(RRaR~R}RR†R.RWRRKRMR„RŠRgR(R,tIndextretCodeRkRjRƒ((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytmarkItemAsViewedãs			8		cCstj}g}|jr÷|j}|j|jtjtjgkr÷|j	||j|ƒ}|dkrè|jj|j
r«ttdƒdidd6|d6|d6ƒ}n-ttdƒdidd6|d6|d6ƒ}|j
|ƒntj}q÷nt|d	|ƒS(
NR#s
Unset watchedtunset_watched_flagtactiont
item_indext	hash_datasSet watchedtset_watched_flagR(RRaR~R}RRWRRKRMR„R†RRRRg(R,R‹RŒRkRjttmpR^((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgetCustomActionsñs			"0-cCsòtj}g}|jrâ|d}|d}|ddkrztd|ƒ}t|ƒr»t|jj|_tj	}q»nA|ddkr»|j
|ƒr»t|jj|_tj	}q»n|tj	krât|_dg}qânt|d|ƒS(	NR‘RRRŽsIPTVWatched/%s/.%s.iptvhashR’RuR(
RRaR~RR
R)R}RR†RgRŠR.R(R,tprivateDataRŒRkRƒR‹R‰((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytperformCustomActions$		

	cCsttjdtdƒgƒS(NRsfavouriteslogo.png(RRgR
(R,((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pytgetLogoPathscCsË|jjƒr%|jjƒj|ƒSt|jjƒ}||krv|dkrvtd||fƒttjdgƒS|jj|dd	kr­tdƒttjdgƒS|jj|jj|ƒSdS(
NisDERROR getLinksForVideo - current list is to short len: %d, Index: %dRRWtaudiotvideotpictures4ERROR getLinksForVideo - current item has wrong type(R˜R™Rš(	R'R9RyRmRUR6RRRa(R,R‹tselItemtlistLen((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyRms
cCs9|jjƒr%|jjƒj|ƒS|jj|ƒSdS(N(R'R9RyRn(R,R`((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyRn)scCs¶|}ttjdgƒ}|jjƒsHtj|||ƒ}d}n|jjƒr¥|jjƒj||ƒ}x0tt|j	ƒƒD]}t
|j	|_qˆWn|j|ƒ|S(NRi(
RRaR'R9RtgetListForItemRyRTRURR)tisGoodForFavouritesR‡(R,R‹RuR›t
guestIndexRjR\((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR/s	
cCsÐttjdgƒ}|jjƒsCt|jjƒjƒdkrw|jjƒrb|jjƒntj	||ƒ}nH|jjƒj	|ƒ}x-t
t|jƒƒD]}t|j|_
q¥W|j|ƒ|S(NRi(RRaR'R9RURytlistOfprevListR:RtgetPrevListRTRR)RžR‡(R,RuRjR\((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR¡=s.
cCsÝ|dkr0|jr0|jdkr0|j}n ttjdgƒ}|jjƒsitj||ƒ}n|jjƒrÃ|jj	ƒj|ƒ}x0t
t|jƒƒD]}t
|j|_q¦Wn|j|ƒt
|_|S(NiR(RR}R&RRaR'R9RtgetCurrentListRyRTRURR)RžR‡(R,RuRjR\((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR¢Is$
	cCs¤ttjdgƒ}|jjƒs9tj||ƒ}n|jjƒr“|jjƒj|ƒ}x0tt|j	ƒƒD]}t
|j	|_qvWn|j|ƒ|S(NR(
RRaR'R9RtgetMoreForItemRyRTRURR)RžR‡(R,R‹RjR\((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR£Xs
cCsqtj}g}|}t}|jjƒsE|jj|ƒ}d}n|ra|jjƒj|ƒSt|d|ƒS(NiR(RRaR.R'R9RxRytgetArticleContent(R,R‹RŒRkRŸt
callQuestHost((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR¤cs		N(R{R|R$R„R…R‡RŠRR”R–R—R&RmRnRR¡R¢R£R¤(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyR-³s 								(,t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRRt.Plugins.Extensions.IPTVPlayer.components.ihostRRRRRRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRR	R
RRR
Rt2Plugins.Extensions.IPTVPlayer.tools.iptvfavouritesRt6Plugins.Extensions.IPTVPlayer.components.iptvchoiceboxRt6Plugins.Extensions.IPTVPlayer.libs.crypto.hash.md5HashRtTools.DirectoriesRt
simplejsontjsonR3tbinasciiRtComponents.configRRRR.RRRR R"R!R-(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/hosts/hostfavourites.pyt<module>s"44
		‹