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:
ó
Dh-_c@s›ddlmZddlmZmZmZddlmZddl	m
ZmZ
ddlZddlmZmZddlmZdd	d„ƒYZdS(
iÿÿÿÿ(tTranslateTXT(tprintDBGtprintExctbyteify(tCFavItem(tloadstdumpsN(tpathtremovetIPTVFavouritescBsÿeZdZedZd„Zd„Zed„Zed„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zed„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Zdd„ZRS(siptv_%s.favtgroupscCs1d|_||_g|_i|_i|_dS(Nt(t	lastErrortfavDirR
tloadedGroupst	delGroups(tselfR
((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyt__init__s
				cCs|jS(N(R(R((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytgetLastError scCs­|jƒ}|s|j}nd}|r—|r—xctt|jƒƒD]I}|j|ƒ}|r}t|j|j|d<qGt}||j7}qGWn|s©||_n|S(NRtgroup_id(	t_loadGroupsRtrangetlenR
t
_loadItemstTrueRtFalse(Rt
groupsOnlytretRtidxttmpRet((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytload#s
cCs|jƒ}|s|j}nd}|sêxktt|jƒƒD]T}|jj|j|dtƒr@|j|ƒ}|s”t}||j7}q”q@q@WxO|j	D]A}|j	|r¢|j
|ƒ}|sãt}||j7}qãq¢q¢Wn|sü||_n|S(NRR(t_saveGroupsRRRR
RtgetRt
_saveItemsRt	_delItems(RRRRRRtkey((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytsave1s( 
cCs.|j|ƒ}d|kr&|j|SdSdS(Niÿÿÿÿ(t_getGroupIdxR
tNone(RRR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytgetGroupEscCs|jS(N(R
(R((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyt	getGroupsKscCs“|j|dƒ}d|krtd|kr8g|d<n|jj|ƒt|j|d<|jj|ddƒtStdƒ|d|_	t
SdS(NRiÿÿÿÿtitemssGroup "%s" already exists.(R%R
tappendRRRtpopR&t_RR(RtgroupR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytaddGroupNs
cCsU|j|dƒ}d|krM|j|jdgƒ|d<||j|<tStSdS(NRiÿÿÿÿR)(R%R
R RR(RR-R((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytmodifyGroupZs
cCsQ|j|ƒ}d|krI|jj|dƒt|j|<|j|=tStSdS(Niÿÿÿÿ(R%RR+R&RRR
R(RRR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytdelGroupbs

cCs|d|kret|jƒ|kred|kret|jƒ|kre|jj||jj|ƒƒtStdƒ|_tSdS(NisWrong indexes.(RR
tinsertR+RR,RR(RtcurIndextnewIndex((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyt	moveGroupks
BcCs0|j|ƒ}d|kr(|j|ƒStSdS(Niÿÿÿÿ(R%R!R(RRR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytsaveGroupItemsss
cCsB|j|ƒ}d|kr8t|j|jdgƒfStgfS(NiÿÿÿÿR)(R%RR
R R(RRR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyt
getGroupItemsxscCsmt}|j|ƒ}d|kri|jj|tƒrA|rAtS|j|ƒ}|rit|j|<qin|S(Niÿÿÿÿ(RR%RR RR(RRtforcetstsR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytloadGroupItems}scCs«|j|ƒ}d|kr§|j|jdgƒ}t}x0|D](}|jƒ|jƒkrAt}PqAqAW|s•|j|ƒ||j|d<tStdƒ|_ntS(NiÿÿÿÿR)s+The same item already exists in this group.(	R%R
R Rt	getAsDictRR*R,R(RtitemRRR)texiststtmp((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytaddGroupItem†s

cCsr|j|ƒ}d|krjy|j|d|=Wn2tk
retƒtdƒ||f|_tSXtStSdS(NiÿÿÿÿR)s$Item idx[%d] not found in group[%s].(R%R
t	ExceptionRR,RRR(RtitemIdxRR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pytdelGroupItem–s
cCs¾|j|ƒ}d|kr¶d|kr t|j|dƒ|kr d|kr t|j|dƒ|kr |j|dj||j|dj|ƒƒtStdƒ|_tSntSdS(NiÿÿÿÿiR)sWrong indexes.(	R%RR
R1R+RR,RR(RR2R3RR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyt
moveGroupItem¡sR/cCsRx8tt|jƒƒD]!}||j|dkr|SqWtdƒ||_dS(NRsGroup with id[%s] not found.iÿÿÿÿ(RRR
R,R(RRR((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyR%¬s
cCsòt}tj|jtj|j|dƒ}tj|ƒrÝyj|j|ƒ}t	|ƒt
|ƒ}g}x'|D]}|jtƒj
|ƒƒqqW||j|d<Wqîtk
rÙtƒtdƒ||_t}qîXng|j|d<|S(NRR)sError reading file "%s".
(Rtos_pathtjoinR
R	tFILE_NAME_MACROR
tisfilet
_loadFromFileRt
json_loadsR*RtsetFromDictR?RR,RR(RtgroupIdxRtfilePathtdatatfavItemsR;((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyR³s"'



cCs£t}tj|jtjƒ}tj|ƒr–y2|j|ƒ}t|ƒt	|ƒ}||_
WqŸtk
r’tƒt
dƒ||_t}qŸXn	g|_
|S(NsError reading file "%s".
(RRCRDR
R	tGROUPS_FILE_NAMERFRGRRHR
R?RR,RR(RRRKRL((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyRÆs



	cCszt}tj|jtj|ƒ}tj|ƒrvyt|ƒWqvtk
rrt	ƒt
dƒ||_t}qvXn|S(NsError deleting file "%s".
(
RRCRDR
R	RERFt	os_removeR?RR,RR(RtgroupIdRRK((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyR"Ös

cCsÇt}|j|}td|ƒtj|jtj|dƒ}yNg}x%|dD]}|j|j	ƒƒqUWt
|ƒ}|j||ƒWn1tk
rÂt
ƒtdƒ||_t}nX|S(Ns%sRR)sError writing file "%s".
(RR
RRCRDR
R	RER*R:t
json_dumpst_saveToFileR?RR,RR(RRJRR-RKR)tfavItemRL((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyR!âs
 

cCs¯t}yxddlm}||jƒ}x|D]}|jddƒq/Wtj|jt	j
ƒ}t|ƒ}|j||ƒWn*t
k
rªtdƒ||_t}nX|S(Niÿÿÿÿ(tdeepcopyR)sError writing file "%s".
(RtcopyRTR
R+R&RCRDR
R	RNRQRRR?R,RR(RRRTR
R;RKRL((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyRós


sutf-8cCs2tj|d|dƒ}|j|ƒWdQXdS(Ntwtreplace(tcodecstopentwrite(RRKRLtencodingtfp((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyRRscCs/tj|d|dƒ}|jƒSWdQXdS(NtrRW(RXRYtread(RRKR[R\((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyRGs(t__name__t
__module__RERNRRRRR$R'R(R.R/R0R4R5R6R9R>RARBR%RRR"R!RRRRG(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyR	s4
																					((t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRR,t-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRt.Plugins.Extensions.IPTVPlayer.components.ihostRt*Plugins.Extensions.IPTVPlayer.libs.e2ijsonRRHRRQRXtosRRCRROR	(((sM/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tools/iptvfavourites.pyt<module>s