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@sCddlmZmZmZmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZddlmZddlmZddlmZddlmZddlm Z ddl!m"Z"ddl#m$Z$dd	lm%Z%dd
l&m'Z(ddl)m*Z*ddl+m,Z,dd
l-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl)m9Z9m:Z:yddl;Z;Wne<k
rãddl=Z;nXddl>m?Z@mAZBmCZDde0fd„ƒYZEddd„ƒYZFdeFfd„ƒYZGdS(iÿÿÿÿ(tprintDBGtprintExctmkdirstrmtreet	FreeSpacetformatBytestiptv_systemtGetIPTVDMImgDirtGetIPTVPlayerVerstiontGetShortPythonVersiont	GetTmpDirtGetHostsListtGetEnabledHostsListt
WriteTextFiletIsExecutabletGetUpdateServerUritGetIconsHashtSetIconsHashtGetGraphicsHashtSetGraphicsHashtrmtGetPyScriptCmd(tenum(tIPTVUpdateList(tUpdateDownloaderCreator(tDMHelper(tCParsingHelper(tArticleView(tArticleContent(tcommon(tTranslateTXT(t
fileExists(t
MessageBox(t	ChoiceBox(tScreen(tconfig(t	ActionMap(tLabel(t
boundFunction(tresolveFilenamet
SCOPE_PLUGINSN(tpathtremovetlistdirtIPTVUpdateWindowcBsÂeZdZdddddddgZedd	d
ddd
ddddddddƒZed„Zd„Zd„Z	d„Z
d„Zd„Zd„Z
d„Zd„Zd„Zd „ZRS(!s…
    <screen name="IPTVUpdateMainWindow" position="center,center" size="620,440" title="" >
            <widget name="sub_title"    position="10,10" zPosition="2" size="600,35"  valign="center" halign="left"   font="Regular;22" transparent="1" foregroundColor="white" />
            <widget name="list"         position="10,50" zPosition="1" size="600,380" enableWrapAround="1" transparent="1" scrollbarMode="showOnDemand" />
            <widget name="console"      position="40,200"   zPosition="2" size="540,80" valign="center" halign="center"   font="Regular;34" transparent="0" foregroundColor="white" backgroundColor="black"/>
    </screen>s
iconwait1.pngs
iconwait2.pngs
iconwait3.pngsicondone.pngs
iconerror.pngsiconwarning.pngsiconcancelled.pngtWAITINGit
PROCESSINGitPROCESSING_NOT_BREAKit	PROCESSEDitERRORitWARNINGit	CANCELLEDicCs`tdƒtj||ƒ||_||_|jj|jƒ|jjƒ|_t	t
dƒƒ|d<t	t
dƒƒ|d<tddgi|jd6|j
d	6d
ƒ|d<g|_tgtjD]}t|ƒ^qÃ|d<d
|_|jj|jƒ|jj|jƒd|_i|_t
dƒ|jd<t
dƒ|jd<t
dƒ|jd<dS(Ns=IPTVUpdateMainWindow.__init__ -------------------------------t t	sub_titles> Press OK to start <tconsoletSetupActionstColorActionstcanceltokiþÿÿÿtactionstlistis+During processing, please do not interrupt.t
not_interruptsDuring processing, please wait.tplease_waits)Step [%s] cannot be aborted. Please wait.tnot_aborted(RR"t__init__t	autoStartt
updateObjImpltsetStepFinishedCallBacktstepFinishedt
getSetupTitletsetup_titleR%t_R$tkeyExittkeyOKR<RR,tICONSRtcurrSteptonShowtappendtonStarttonCloset_IPTVUpdateWindow__onClosetNonetstatustmessages(tselftsessionRBRAtx((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR@9s.
		


	,			cCstdƒdS(Ns<IPTVUpdateMainWindow.__del__ -------------------------------(R(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__del__UscCsatdƒ|jjdƒ|jjƒ|jj|jƒd|_g|_|dj	gƒdS(Ns<IPTVUpdateMainWindow.__onClose -----------------------------R<(
RRBRCRQt	terminateROR*RPR<tsetList(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt	__onCloseXs

		cCs‰|jj|jƒ|j|jjƒƒ|dj|jjƒƒ|djdt	ƒ|j
ƒ|jrw|jƒn|dj
ƒdS(NR5R<tenabledR6(RLR*RNtsetTitleRBtgetTitletsetTexttgetSubTitletsetSelectionStatetFalsetpreparUpdateStepsListRAtdoStarttshow(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRNas
	
cCs]dt|jƒkrBd|_d|_|jƒ|djƒn|djtdƒƒdS(NitworkingR6sNo steps to execute.(tlenR<RKRRtstepExecutethideR^RG(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRcls		
cCsJ|djƒ|djg|jD]}|f^q"ƒ|djƒdS(NR<(RhRYR<Rd(RTRV((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt
reloadListus*cCs‚|jr&d|jkr&|jƒnX|djƒ}|jdkr~td|dd|ddgƒ}|jjt|ƒndS(NR<Rettitlettexttinfotimages(Nsworking(	RARQRRRct
getCurrentRRUtopenR(RTtcurrItemtartItem((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRIzs
#cCsfd|jkrX|j|jjdtƒrX|jjt|jddtj	ddƒn
|j
ƒdS(NRet	breakableR?ttypettimeouti(RRR<RKtgetRaRURoR RSt	TYPE_INFOtclose(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRHƒs,,cCs |jjƒ|_|jƒdS(N(RBtgetStepsListR<Ri(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRb‰scCsÞ|dj|jƒ|j|jjdtƒre|j|jji|jdd6|jjd6ƒn2|j|jji|jdd6|jj	d6ƒ|j
ƒ|jj|jƒrÎ|j|jdƒnt
dƒ‚dS(	NR<RrR>RlticonR=texecFunctionsLIPTVUpdateMainWindow.stepExecute seems that last step has not been finished.(tmoveToIndexRKR<RuRatupdateRStICONR.R/RiRBtisReadyToExecuteStept	Exception(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRgs52
cCs]td||fƒt}d|krp|j|jjddƒdkrp|j|jdcd8<|jƒdSd|kr/|j|jdr/t}d|_|j|jji|d6|j	j
d	6ƒ|jd}x¹|t|jƒkr+|j|jitd
ƒd6|j	j
d	6ƒ|d7}qÛWned|kri|j|jji|d6|j	jd	6ƒn+|j|jji|d6|j	jd	6ƒ|r|jdt|jƒkrÒ|jd7_|jƒqOd|_|jjƒrø|jƒdS|djd
tƒn@d|_|jjt|ƒr;|jƒdS|djd
tƒ|jƒdS(Ns6IPTVUpdateMainWindow.stepFinished stsCode[%d], msg[%s]itrepeatCountiiÿÿÿÿtignoreErrorterrorRlRytAbortedtdoneR<R[(RtTrueR<RKRuRgRaRRR|R}R1RfRGR3R2R0RBtfinalizeRwR`Ri(RTtstsCodetmsgtnextStepRK((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRD™s@.
!	+
..+
	
	
(t__name__t
__module__tskinRJRR}R…R@RWRPRNRcRiRIRHRbRgRD(((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR,-s3												tIUpdateObjectInterfacecBs†eZd„Zd„Zd„Zd„Zd„Zed„Zd„Z	d„Z
d„Zd	„Zd
dd„Z
d
„Zd„ZRS(cCstdƒdS(Ns?IUpdateObjectInterface.__init__ -------------------------------(R(RTRU((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR@ÃscCstdƒdS(Ns>IUpdateObjectInterface.__del__ -------------------------------(R(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRWÅscCsdS(NR4((RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyREÇscCs
tdƒS(NR4(RG(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR]ÉscCs
tdƒS(NR4(RG(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR_ËscCsdS(N((RTtsuccess((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR†ÍscCsdS(N((RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRXÏscCsgS(N((RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRxÑscCstS(N(Ra(tcurrStepIdx((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR~ÓscCs
||_dS(N(tstepFinishedHandler(RTtstepFinishedCallbackFun((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRCÕsiÿÿÿÿtcCs |jr|j||ƒndS(N(R(RTR‡Rˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRD×s	cCs“t}d}yLtj|ƒrWtj|ƒrWt|ƒsWtdƒ|}t}qWnWn.tk
rˆtƒtdƒ|}t}nX||fS(NR’s+The problem with creating a directory [%s].s Problem with the directory [%s].(	R…tos_pathtisdirtislinkRRGRaRR(RTR)tstsRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt
createPathÚs 

cCsbt}d}t||dƒsXt}tdƒ|tt|ddƒƒt|ƒf}n||fS(NR’isFThere is no space in the directory [%s]
 Available[%s], required [%s].(R…RRaRGRRQ(RTtdirtrequairedSpaceR–Rˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytcheckForFreeSpaceès4(RŠR‹R@RWRER]R_R…R†RXRxR~RCRDR—Rš(((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRÂs										tUpdateMainAppImplcBs÷eZdZed„Zd„Zd„Zd„Zd„Zd„Z	d„Z
edd	„Zd
„Z
eedd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zeddd„Z eddd„Z!d5d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)d'„Z*d(„Z+d)„Z,d*„Z-d+„Z.d,„Z/d-„Z0d.„Z1d/„Z2d0„Z3d1„Z4d2„Z5d3„Z6d4„Z7RS(6s/IPTV_VERSION="([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)"cCs±tdƒtdƒg|_||_tj||ƒtƒ|_||_t	dƒ|_
tdƒ|_t
tdƒ|_d|_t|_d|_d|_d|_g|_i|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_!d|_"d|_#d|_$i|_%t	d	ƒ|j%d
<t	dƒ|j%d<t	d
ƒ|j%d<t	dƒ|j%d<g|_&t'j(j)j*j+|_,t'j(j)j-j+|_.dS(Ns:UpdateMainAppImpl.__init__ -------------------------------sserwerslist.jsonsIPTVPlayer - updatetiptv_updatesExtensions/tnoneR’is
Completed.t	completedsJProblem with the removal of the previous version.
Status[%d], outData[%s].tproblem_removals@Problem with installing the new version.
Status[%d], outData[%s]tproblem_installs0Problem with copy files.
Status[%d], outData[%s]tproblem_copy(/RRtSERVERS_LIST_URLSRURR@RtcmtallowTheSameVersionRGRFR
ttmpDirR'R(t
ExtensionPathRQtExtensionTmpPathRatterminatingRRt
downloadertcmdtserversListt
gitlabListtserverGraphicsHashtserverIconsHashtlocalGraphicsHashtlocalIconsHashtcurrServIdxt
sourceArchivetgraphicsSourceArchiveticonsSourceArchivetdecKeytdecKeyFilePathtdestinationArchivet	serverIdxRSR<R#tpluginst
iptvplayertiptvplayer_logintvaluetusertiptvplayer_passwordtpassword(RTRUR¤((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR@ósH
																							c	Csd}tdƒ}tj|dƒ}tj|ƒr?|j}ntj|dƒ}d}y…t|dƒ}|jƒ}WdQXtj||ƒd}||j	|j
dkrÛd}td	ƒ||j	|j
df}nWn.tk
rtƒd}td
ƒ|}nX||fS(NisCorrect version.s
version.pysversion.pyos ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)trtversioniÿÿÿÿsNWrong version. 
 downloaded version [%s] is different from the requested [%s].sFile [%s] reading failed.(
RGR“tjointisfiletVERSION_PATTERNRotreadRtgetSearchGroupsR«R±RR(	RTt
newVerPathtcodeRˆt
newVerFilet
verPatterntverFiletdatat	newVerNum((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytcheckVersionFile"s&+
cGsÜy³y0ddlm}|jj|j|ddƒWn|tk
r±tƒtdƒ}|jjt	tdƒ|j
|jd|dt	jd	d
ƒddl
m}|dƒnXWn"tk
r×tƒ|jƒnXdS(Niÿÿÿÿ(tTryQuitMainlooptretvalueis:Please remember that you use this plugin at your own risk.s8E2 GUI restart after IPTVPlayer update to version[%s].

RÁRsRti(tquitMainloop(tScreens.StandbyRÏRUtopenWithCallbacktdoRestartFailedRRRGRoR R«R±RvtenigmaRÑ(RTtargsRÏtmsgtxtRÑ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt	doRestart:s 
>
cGsyy2|jtjitdƒd6|jjd6ƒWntk
rLtƒnX|jj	t
tdƒdt
jddƒdS(NRƒRlRys1Restart GUI failed. 
Please restart STB manually.RsRti(R<RKR|RGR}R3RRRURoR Rv(RTRÖ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRÔIs
2
cCs
tdƒS(NsIPTVPlayer - update(RG(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRESscCs
tdƒS(NsIPTVPlayer - update(RG(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR]VscCstdƒtƒS(Ns Currently you have version [%s].(RGR(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR_YsR’cCs||r8|jj|jttdƒdtjddƒtS|}|dtdƒ7}|jjt|dtjddƒtSdS(NsFUpdate completed successfully. For the moment, the system will reboot.RsRti
s

sIUpdate failed.
Check the status by selecting interesting and pressing OK.iÿÿÿÿ(	RURÓRØR RGRvRaRot
TYPE_ERROR(RTRŽterrorMsgtmessage((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR†\s."cCsRt|_|jr+|jjƒd|_n|jrD|jjƒn|jƒdS(N(R…R¨R©RXRQRªtkilltclearTmpData(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRXgs		
	icCsHi|d6|d6|d6|d6tdƒd6dd6|d6tjjd	6S(
NRjRzRrRtPendingRltprogressFunR€Ry(RGRQR,R}R-(RTRjRzRrRR€((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt
__getStepDescpscCsg|_tjjjjrgtjjjjdkrg|jj|jdt	dƒd|j
dtƒƒn|jj|jdt	dƒd|jƒƒ|jj|jdt	dƒd|j
ƒƒ|jj|jdt	dƒd|jƒƒ|jj|jdt	d	ƒd|jd
tdtƒƒ|jj|jdt	dƒd|jƒƒ|jj|jdt	dƒd|jƒƒ|jj|jdt	d
ƒd|jd
tdtƒƒ|jj|jdt	dƒd|jƒƒ|jj|jdt	dƒd|jd
tdtddƒƒ|jS(Nt2RjsAdd repository last version.RzRsObtaining server list.sDownloading an update packet.sExtracting an update packet.sCopy post installed binaries.RrsExecuting user scripts.sChecking version.sRemoving unnecessary files.sConfirmation of installation.sInstalling new version.R€i(R<R#R¹Rºtgitlab_repoR¼tpreferredupdateserverRMt_UpdateMainAppImpl__getStepDescRGt
stepGetGitlabR…tstepGetServerListststepGetArchivetstepUnpackArchivetstepCopyPostInatalledBinarieststepExecuteUserScriptststepCheckFileststepRemoveUnnecessaryFileststepConfirmInstalationtstepInstallNewVersionRa(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRxss	*4+++7++7+=cCs |jr|jrtStSdS(N(R©RªR…Ra(RTR((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR~ƒscCs°tdƒ|jƒ|j|jƒ\}}|sF|jd|ƒdS|j|j}t|ƒ|_|jj	j
t|j|j
dƒƒ|jj|tj|jdƒƒdS(Ns$UpdateMainAppImpl.stepGetServerListsiÿÿÿÿsserwerslist2.json(RRÝR—R¥RDR¢R¸RR©tsubscribersFor_FinishRMR&tdownloadFinishedt/_UpdateMainAppImpl__serversListDownloadFinishedRQtstartR“RÂ(RTR–Rˆt	serverUrl((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRæŒs

%cCsÁtdƒtjjjj}|jƒ|j|jƒ\}}|sX|j	d|ƒdSdj
|ƒ}t|ƒ|_|jj
jt|j|jdƒƒ|jj|tj|jdƒƒdS(NsUpdateMainAppImpl.stepGetGitlabiÿÿÿÿsAhttps://gitlab.com/{0}/e2iplayer/raw/master/IPTVPlayer/version.pyslastversion.py(RR#R¹RºRâR¼RÝR—R¥RDtformatRR©RïRMR&Rðt-_UpdateMainAppImpl__serversListGitlabFinishedRQRòR“RÂ(RTtnickR–RˆRó((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRå˜s

%cCsÝt|j|jdƒ|_|jjjt|j|jdƒƒt
j|jdƒ|_
|j|jd}|jrÃddlm}|d|krœdnd7}|d||jƒjƒ7}n|jj||j
ƒdS(Nturlsiptvplayer_archive.tar.gziÿÿÿÿ(tsha256t?t&shash=%s(RR«R±R©RïRMR&Rðt+_UpdateMainAppImpl__archiveDownloadFinishedRQR“RÂR¥R²RµthashlibRøR½t	hexdigestRò(RTR÷Rø((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRç¥s%	 cCsËtj|jdƒ|_tj|j|j|jdƒ|_td|j|j|jfƒ|j	|jƒ\}}|s|j
d|ƒdSd|j|j|j|jf}t||jƒ|_
dS(Ntiptv_archivetsubdirshUpdateMainAppImpl.stepUnpackArchive: sourceArchive[%s] -> destinationArchive[%s] -> ExtensionTmpPath[%s]iÿÿÿÿsurm -f "%s/*" > /dev/null 2>&1; tar -xzf "%s" -C "%s" 2>&1; PREV_RET=$?; rm -f "%s" > /dev/null 2>&1; (exit $PREV_RET)(R“RÂR¥R·R«R±R§RR²R—RDRt%_UpdateMainAppImpl__unpackCmdFinishedRª(RTR–RˆRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRè²s& "cCs´tdƒddlm}||jƒjƒ}t|j|jdƒ|_|jj	j
t|j|j
dƒƒtj|jdƒ}|jj|j|jdj|ƒ|ƒdS(NsUpdateMainAppImpl.stepGetEncKeyiÿÿÿÿ(Røtgraphics_urlsiptvplayer_enc_key.bintenc_url_tmp(RRüRøR½RýRR«R±R©RïRMR&Rðt*_UpdateMainAppImpl__encKeyDownloadFinishedRQR“RÂR¥RòRô(RTRøtnameHasht	encKeyBin((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt
stepGetEncKey¾s
%cCsØtd|jƒddlm}y}t||jƒjƒd ƒ|_t|jdƒ}|j	|j
ƒWdQXtdƒdtt
dƒ|j|jf}Wntk
r¾tƒd	}nXt||jƒ|_dS(
Ns7UpdateMainAppImpl.stepDecryptArchive: sourceArchive[%s]iÿÿÿÿ(Røitwbtdecrypts "%s" "%s" "%s" sExtensions/IPTVPlayer/libs/tfake(RR²RüRøR
R½RýR¶RotwriteRµRR'R(RRRt)_UpdateMainAppImpl__decryptionCmdFinishedRª(RTRøtfRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepDecryptArchiveÈs"0

cCsÀd|j|jdkr4|jdtdƒƒdSd}t|j|jdƒ|_|jjjt|j	|j
dƒƒtj
|jdƒ|_|jj|j|jd||jƒdS(NR’RisSkipped.sgraphics.tar.gzs"iptvplayer_graphics_archive.tar.gz(R«R±RDRGRR©RïRMR&RðRûRQR“RÂR¥R³Rò(RTtpackageName((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepGetGraphicsArchiveÖs%cCsud|j|jdkr4|jdtdƒƒdSd|jtj|jdƒ|jf}t||j	ƒ|_
dS(NR’RisSkipped.sVtar -xzf "%s" -C "%s" 2>&1; PREV_RET=$?; rm -f "%s" > /dev/null 2>&1; (exit $PREV_RET)sIPTVPlayer/(R«R±RDRGR³R“RÂR§RRRª(RTRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepUnpackGraphicsArchiveás
(cCsãd|j|jdks-tjjjjrG|jdtdƒƒdSdtjjj	j}t
|j|jdƒ|_|jjj
t|j|jdƒƒtj|jdƒ|_|jj|j|jd||jƒdS(NR’t	icons_urlisSkipped.sicons%s.tar.gzsiptvplayer_icons_archive.tar.gz(R«R±R#R¹RºtListaGraficznaR¼RDRGt	IconsSizeRR©RïRMR&RðRûRQR“RÂR¥R´Rò(RTR((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepGetIconsArchiveés%cCsˆd|j|jdks-tjjjjrG|jdtdƒƒdSd|j	t
j|jdƒ|j	f}t
||jƒ|_dS(NR’RisSkipped.sVtar -xzf "%s" -C "%s" 2>&1; PREV_RET=$?; rm -f "%s" > /dev/null 2>&1; (exit $PREV_RET)sIPTVPlayer/(R«R±R#R¹RºRR¼RDRGR´R“RÂR§RRRª(RTRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepUnpackIconsArchiveõs(cCs8|jtj|jdƒƒ\}}|j||ƒdS(Nt
IPTVPlayer(RÎR“RÂR§RD(RTRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRëþs$cCs‡tdƒtj|jdƒ}tj|jdƒ}tj|jdƒ}tj|jdƒ}g}ttjjjj	ƒ}tjjj
j	s—d}nxfddd	gD]U}||kr§|jd
|dj|ƒƒ|jd
|dj|d
ƒƒq§q§Wtjjj
j	s&|jd|ƒntjjjj	rQtƒ}tdtdtƒ}	tdtdtƒ}
g}xƒ|	D]{}||krx||
krx|jd
|dj|ƒƒ|jd
|dj|ƒƒ|jd
|dj|ƒƒqxqxWtdƒ}
|jddƒ|jdƒdj|ƒ}t|
|dƒdj|
ƒ}ndj|ƒ}td|ƒt||jƒ|_dS(NRìs IPTVPlayer/icons/PlayerSelector/sIPTVPlayer/icons/logos/sIPTVPlayer/hosts/sIPTVPlayer/Web/ii‡ixidsrm -f %ss*{0}.pngs
marker{0}.pngi-s	rm -rf %stfromListtfromHostFolders{0}*.pngs{0}logo.pngshost{0}.py*s.iptv_remove_cmds.shs	#!/bin/shsexit 0
s
tasciis/bin/sh "{0}" s && s#stepRemoveUnnecessaryFiles cmdp[%s](RR“RÂR§tintR#R¹RºRR¼RRMRôtIPTVWebIterfacetremove_diabled_hostsRRR…RaR
tinsertR
Rt5_UpdateMainAppImpl__removeUnnecessaryFilesCmdFinishedRª(RTtplayerSelectorPatht	logosPatht	hostsPathtwebPathtcmdsticonSizetsizetenabledHostsListt
hostsFromListthostsFromFoldert
hostsToRemovethostItemtcmdFilePathRkRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRìsD
	)	
%
cCstj|jddƒ}tj|jddƒ}tj|dƒ}d||||f}td|ƒt||jƒ|_dS(NRticonstPlayerSelectors3mkdir -p "%s" && cp -rf "%s"/* "%s"/ && rm -rf "%s"s6UpdateMainAppImpl.stepCopyGraphicsWithoutIcons cmd[%s](R“RÂR¦R§RRt&_UpdateMainAppImpl__copyOldCmdFinishedRª(RTtoldIconsDirtnewIconsDirtnewPlayerSelectorDirRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepCopyGraphicsWithoutIcons.scCsjtj|jddƒ}tj|jddƒ}d|||f}td|ƒt||jƒ|_dS(NRR,s$mkdir -p "%s" && cp -rf "%s"/* "%s"/s-UpdateMainAppImpl.stepCopyAllGraphics cmd[%s](R“RÂR¦R§RRR.Rª(RTR/R0Rª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepCopyAllGraphics8s
cCs‰dtj|jdƒ}tj|jdddƒ}tj|jdddƒ}d|||f}td|ƒt||jƒ|_dS(Ns
rm -rf "%s"/*RR,R-s$mkdir -p "%s" && cp -rf "%s"/* "%s"/s+UpdateMainAppImpl.stepCopyOnlyIcons cmd[%s](R“RÂR¦R§RRR.Rª(RTRªtoldPlayerSelectorDirR1((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepCopyOnlyIcons@sc	Cs©|rg|_tdtj|jdƒƒri|jjdtj|jdƒtj|jdƒfƒntdtj|jdƒƒrÃ|jjdtj|jdƒtj|jdƒfƒndtj|jdƒ}dtjj	j
jfdtjj	jjfd	tjj	j
jfd
tjj	jjfdtjj	jjfdtjj	jjfd
tjj	jjfdtjj	jjfg}xQ|D]I}||dkr‘|jjd||dtj|jdƒfƒq‘q‘Wdt|jƒkrÿd|_qtdƒ|_n|j|7_d|krL|jdtdƒ|jƒnYdt|jƒkrˆ|jjƒ}t||jƒ|_n|jdtdƒ|jƒdS(Ns#%s/libs/iptvsubparser/_subparser.soRsXcp -f "%s/libs/iptvsubparser/_subparser.so" "%s/libs/iptvsubparser/_subparser.so"  2>&1 s%s/libs/e2icjson/e2icjson.sosJcp -f "%s/libs/e2icjson/e2icjson.so" "%s/libs/e2icjson/e2icjson.so"  2>&1 s%s/bin/texteplayer3t	gstplayertwgetthlsdltcmdwraptduktf4mdumptuchardetiscp -f "%s/%s" "%s/bin/"  2>&1 iR’sNothing to do here.iÿÿÿÿsProblem with copy binary.
sCompleted.
(tcopyBinariesCmdListRR“RÂR¦RMR§R#R¹Rºtexteplayer3pathR¼t
gstplayerpathtwgetpatht	hlsdlpathtcmdwrappathtdukpathtf4mdumppathtuchardetpathRftcopyBinariesMsgRGRDtpopRt+_UpdateMainAppImpl__copyBinariesCmdFinishedRª(RTtinitRÈRˆtbinPathtbinariesTabtbinItemRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRéIs8	;;
7 cCsà|rH|jƒ|_dt|jƒkr6d|_qHtdƒ|_n|j|7_d|krƒ|jdtdƒ|jƒnYdt|jƒkr¿|jjƒ}t||jƒ|_	n|jdtdƒ|jƒdS(NiR’sNo user scripts.iÿÿÿÿs$Problem with user script execution.
sCompleted.
(
t#_UpdateMainAppImpl__getUserCmdsListtcustomUserCmdListRft
customUserMsgRGRDRHRt#_UpdateMainAppImpl__userCmdFinishedRª(RTRJRÈRˆRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRêns cCsˆd|krO|jj|jttdƒ|j|jddtjddƒn5|rn|j	dtdƒƒn|j	dtdƒƒdS(	NsxVersion [%s] is ready for installation. After installation, restart of the system will be done.
Do you want to continue?RÁRsRtiÿÿÿÿis Installation has been confirmed.sInstallation has been aborted.(
RQRURÓRíR RGR«R±t
TYPE_YESNORD(RTt	confirmed((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRí€s
CcCs@dtj|jdƒ}td|ƒt||jƒ|_dS(Ns
rm -rf "%s"/*Rs.UpdateMainAppImpl.stepRemoveOldVersion cmd[%s](R“RÂR¦RRt/_UpdateMainAppImpl__removeOldVersionCmdFinishedRª(RTRª((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytstepRemoveOldVersion‰scCsÆd}yLd|j|jd|j|jdf}dtjjjj|f}Wntk
rltƒnX|dt	j
|jdƒt	j
|jdƒf7}t
d|ƒt||jƒ|_dS(	NR’s3http://iptvplayer.vline.pl/check.php?ver=%s&type=%sRÁtpyvers*%s "%s" -t 1 -T 10 -O - > /dev/null 2>&1; scp -rf "%s"/* "%s"/ 2>&1Rs/UpdateMainAppImpl.stepInstallNewVersion cmd[%s](R«R±R#R¹RºRAR¼RRR“RÂR§R¦RRt0_UpdateMainAppImpl__installNewVersionCmdFinishedRª(RTRªR÷((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRîŽs, 
2cCsHtdt|fƒg|j_|jr7tdƒdS|||ƒdS(Ns7UpdateMainAppImpl.downloadFinished file[%s], status[%s]s*UpdateMainAppImpl.downloadFinished closing(RtfileR©RïR¨(RTtcallBackFuntargRR((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRðšs	
cCs0yt|jƒWntk
r+tƒnXdS(N(RR¥RR(RT((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyRÝ¢s
cCs8tjjjj}dj|ƒ}|jj|dƒ\}}|r4tj	|dj|ƒƒd}dt
|ƒkr#|d|}|jj|ƒ\}}|r1tj	|dƒd}|d|}	id	|d
d6|d6|	d
6dd6dd6dd6}
tdt|
ƒƒ|j
|
ƒq1q4td|ƒndS(Ns https://gitlab.com/{0}/e2iplayers/tree/masters!"/{0}/e2iplayer/commit/([^"]+?)">ii(s/blob/%s/IPTVPlayer/version.pys,&quot;([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)&quot;s!/repository/archive.tar.gz?ref=%ssgitlab.com/t/tnameRÁR÷siptvplayer-for-e2.git/RÿsX.XRVt
sourcecodetpackagetypes/UpdateMainAppImpl.__addLastVersion server: [%s]sWrong crcSum[%s](R#R¹RºRâR¼RôR£tgetPageRRÆRfRtstrRM(RTtserversRötmainUrlR–RÌtcrcSumtfinalurlRÍt	sourceUrltserver((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__addLastVersion«s8c
Csó|jjƒ}|jjƒ}d|_td||fƒtjjjj	}t
jj|kr‚t
dƒ|}|jd|ƒnmd}tj|jdƒ}|j}	tj|ƒr°y>t|dƒ}
|
jƒ}WdQXtj||	ƒd}Wntk
r
tƒnXdt|ƒkr„d	j|ƒ}id
|dd6|d
6|d6dd6dd6dd6|_tdt|jƒƒqÐt
dƒt|jƒ}|jd|ƒn t
dƒ|}|jd|ƒ|jdt
dj|ƒƒƒdS(NsDUpdateMainAppImpl.__serversListGitlabFinished url[%s], filePath[%s] s*Problem with downloading the packet:
[%s].iÿÿÿÿR’slastversion.pyRÀii
sIhttps://gitlab.com/{0}/e2iplayer/-/archive/master/e2iplayer-master.tar.gzsgitlab.com/R[R\RÁR÷se2iplayer-master/RÿsX.XRVR]R^s!__serversListGitlabFinished: [%s]sWrong version: [%s].sFile not found:
[%s].s4GitLab version from {0} was downloaded successfully.(R©tgetUrltgetFullFileNameRQRR#R¹RºRâR¼RtSTSt
DOWNLOADEDRGRDR“RÂR¥RÄRÃRoRÅRRÆRRRfRôR¬R`(
RTRZRRR÷tfilePathRöRˆRÍRÉRÊRËRÌRe((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__serversListGitlabFinished½s8		
;c
Cs¥d„}yttƒjddƒƒ}Wn(tk
rRtdtƒƒd}nXtƒ}|jjƒ}|jjƒ}d|_t
jj|kr:|j
d7_
|j
t|jƒkrÉ|jƒq¡d}x,t|j
ƒD]}	|d|j|	7}qßWdt|ƒkr|d }n|jd	td
ƒ|ƒngd}
d}g}ydt|ƒ}
tj|
dƒ}WdQXx|dD]ú}t}i}xYd
dddddddgD]9}||jƒkrÔt}Pq²||jdƒ||<q²W|sûqn|jdƒ}|jdƒ}|rb|js|jr9qqb|jdƒ|d<|jdƒ|d<nt|ƒ}|j|ƒqWt |jddƒƒ}
t |jddƒƒ}Wnctk
rt!ƒ|j
d7_
|j
t|jƒkrû|jƒn|jd	tdƒƒdSXt"j#j$j%j&r8|j'|ƒnt"j#j$j(j&rut"j#j$j)j&dkru|j|j*ƒn||_+|
|_,||_-dt|ƒkr‹g}|j+j.d|dtƒx8tt|ƒƒD]$}	||	}t"j#j$j%j&s¿y t|djddƒƒ}Wntk
r,qÔnX||krRt"j#j$j/j&rRqÔn||krn|j0rnqÔnd|dkr”||dkr”qÔnt"j#j$j1j&|ddgkr¿qÔq¿nd |d|d|d|d
f}|j||	fƒqÔWdt|ƒkr5t"j#j$j/j&r5|j2|dƒq¡dt|ƒkrr|j3j4|j2t5d!td"ƒd#|ƒq¡|jd	td$ƒƒn|jd	td%ƒƒdS(&NcSsy t|djddƒƒ}Wntk
r9d}nXy t|djddƒƒ}Wntk
rsd}nXt||ƒS(NRÁt.R’i(RtreplaceRtcmp(RVtytval1tval2((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pytServerComparatorÞs 

 

RnR’s'Version of the current instalation [%s]iis%s, iþÿÿÿiÿÿÿÿs3Problem with downloading the server list from [%s].sutf-8RaR\RÁR÷RÿRVR^RRtutf8tencRt
graphics_hasht
icons_hashs%Problem with parsing the server list.RáRptreversesX.Xtalls| %s | python %s | %s | %s |RjsSelect update serverR<s1There is no update for the current configuration.sUpdate not available.(6RRRoRRR	R©RhRiRQRRjRkR¸RfR¢RætrangeRDRGRotjsontloadR…titerkeysRatencodeRuR½R¿tdictRMR`RR#R¹RºthiddenAllVersionInUpdateR¼t"_UpdateMainAppImpl__addLastVersionRâRãR¬R«R­R®tsorttdowngradePossibleR¤tpossibleUpdateTypet%_UpdateMainAppImpl__selServerCallBackRURÓR!(RTRZRRRtt
currVerNumt	pythonVerR÷RlturlstidxR­R®R«t
fileHandletjsonDataRftserverOKt	extServertkeyRvt	encUrlTmpt	newServertoptionsRÍR\((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__serversListDownloadFinishedÝs®	

		

%

*			
 
 "	&%+cCs|rt|ƒdkrtƒ|_tƒ|_|d|_g}d|j|jkr_|jdks‰|jdks‰|j|jkrâ|j|j	dt
dƒd|jƒƒ|j|j	dt
dƒd|jƒƒt
}nt}|jdks|jdks|j|jkr±|rI|j|j	dt
d	ƒd|jƒƒntjjjjr\|j|j	dt
d
ƒd|jƒƒ|j|j	dt
dƒd|jƒƒq\q_|rtjjjjrô|j|j	dt
dƒd|jƒƒq\|j|j	dt
d	ƒd|jƒƒq_tjjjjr_|j|j	dt
d
ƒd|jƒƒq_n||jdd+d|j|jkrä|jjd|j	dt
dƒd|jƒƒ|jjd|j	dt
dƒd|jƒƒn|jdt
dƒ|dƒn|jdt
dƒƒdS(NiiRR’RjsDownloading graphics package.RzsExtracting graphics package.sCopy graphics without icons.sDownloading icons package.sExtracting icons package.sCopy all graphics.sCopy icons.iRvsGet decryption key.sDecrypt archive.isSelected version [%s].iÿÿÿÿsUpdate server not selected.(RfRR°RR¯R±R«R­RMRäRGRRRaR…R®R2R#R¹RºRR¼RRR3R5R<RRR
RD(RTtretArgR<toldGraphics((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__selServerCallBackJs>
((	+(.++..1!c	Cså|jjƒ}|jjƒ}|jjƒ}|jjtƒ}d|_td||||fƒtj	j
|krË||krË|j|j||ƒ\}}|r¸t
dƒ|}n|jd|ƒn|jdt
dƒƒdS(NsiUpdateMainAppImpl.__archiveDownloadFinished url[%s], filePath[%s], remoteFileSize[%d], localFileSize[%d] s*Problem with downloading the packet:
[%s].iÿÿÿÿis*Update packet was downloaded successfully.(R©RhRitgetRemoteFileSizetgetLocalFileSizeR…RQRRRjRkRšR¥RGRD(	RTRZRRR÷RltremoteFileSizet
localFileSizeR–Rˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__archiveDownloadFinishedws	cCs|jjƒ}|jjƒ}|jjƒ}|jjtƒ}d|_td||||fƒtj	j
|kr||kr|jdtdƒ|ƒnk|dkrÆ|jdtdƒ|ƒnByúddl
m}ddlm}ddlm}	m}
t|d	ƒ}|jƒ}WdQX|	|jƒjƒd }
||
d
t|
ƒd|ƒƒ}|j|ƒ}|
|ƒjƒd }||j|jdkr¶|jdtd
ƒƒdS||_Wn/tk
rñtƒ|jdtd
ƒƒdSX|jdtdƒƒdS(NshUpdateMainAppImpl.__encKeyDownloadFinished url[%s], filePath[%s], remoteFileSize[%d], localFileSize[%d] iÿÿÿÿs2Problem with downloading the encryption key:
[%s].is"Wrong the encryption key size: %s
(tAES(t	noPadding(Røtmd5trbtkeySizetpaddingRvs Problem with decryption the key.is+Encryption key was downloaded successfully.( R©RhRiR—R˜R…RQRRRjRkRDRGt4Plugins.Extensions.IPTVPlayer.libs.crypto.cipher.aesRœt5Plugins.Extensions.IPTVPlayer.libs.crypto.cipher.baseRRüRøRžRoRÅR¿tdigestRfRRýR«R±RµRR(RTRZRRR÷RlR™RšRœRRøRžRRÌtuserKeytciphertcheck((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__encKeyDownloadFinishedŠs<	!

cCs‰d}d}d|_d|kr@d}tdƒ||f}n5ytWntk
rbtƒnXd}tdƒ}|j||ƒdS(NiÿÿÿÿR’is9Problem with extracting the archive. Return code [%d]
%s.s-Unpacking the archive completed successfully.(RQRªRGt	os_removeRRRD(RTRRtoutDataRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__unpackCmdFinished±s	
cCs¢|jrt|jƒnd}d}d|_d|krYd}tdƒ||f}n5ytWntk
r{tƒnXd}tdƒ}|j||ƒdS(NiÿÿÿÿR’is9Problem with decryption the archive. Return code [%d]
%s.s.Decryption the archive completed successfully.(	R¶RRQRªRGR©RRRD(RTRRRªRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__decryptionCmdFinishedÄs		
cCsfd}d}d|_d|kr@d}tdƒ||f}nd}tdƒ}|j||ƒdS(NiÿÿÿÿR’isError. Return code [%d]
%s.sSuccess.(RQRªRGRD(RTRRRªRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt#__removeUnnecessaryFilesCmdFinishedØs	c		Cstdƒg}yátj|jdƒ}t|ƒ}x¯|D]§}tj|ƒ\}}tj||ƒ}tj|ƒr;|dkrŒd}nd|kr;d}nq;|jd	||tj|jd
ƒtj|jd
ƒfƒq;q;W|j	ƒWnt
k
rtƒnXtd|ƒ|S(
Ns(UpdateMainAppImpl.__getScriptsList beginsIPTVPlayer/iptvupdate/custom/s.pyos.pycs.pytpythons.shtshs%s "%s" "%s" "%s" 2>&1 sIPTVPlayer/s'UpdateMainAppImpl.__getScriptsList [%r](s.pyos.pycs.py(RR“RÂR¦t
os_listdirtsplitextRÃRMR§RƒRR(	RTtcmdListtpathWithUserScriptstfileListt
wholeFileNametfileNametfileExtRltinterpreterBinName((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__getUserCmdsListçs(

		B
cCsTd|_d|krd}nd}d||f}|jdtd|d|ƒdS(Niiÿÿÿÿs*------------
status[%d]
[%s]
------------
RJRÈRˆ(RQRªRéRa(RTRRRªRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__copyBinariesCmdFinishedÿs		cCsTd|_d|krd}nd}d||f}|jdtd|d|ƒdS(Niiÿÿÿÿs*------------
status[%d]
[%s]
------------
RJRÈRˆ(RQRªRêRa(RTRRRªRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__userCmdFinisheds		cCs\d|_d|kr5d}|jd||f}nd}|jd}|j||ƒdS(NiiÿÿÿÿR¡Rž(RQRªRSRD(RTRRRªRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__copyOldCmdFinisheds	
cCs\d|_d|kr5d}|jd||f}nd}|jd}|j||ƒdS(NiiÿÿÿÿRŸRž(RQRªRSRD(RTRRRªRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__removeOldVersionCmdFinisheds	
cCs§d|_d|kr?|jd||f}|jd|ƒnd|j|jkrat|jƒn|j|jkrƒt	|jƒnt
d|jd|jƒ|_dS(NiR iÿÿÿÿsrm -rf s && sync(
RQRªRSRDR°R®RR¯R­RRR¥t"_UpdateMainAppImpl__doSyncCallBack(RTRRRªRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__installNewVersionCmdFinished(s	 cCsAd|_|jtj|jdƒƒ\}}|j||ƒdS(NR(RQRªRÎR“RÂR¦RD(RTRRRªRÈRˆ((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt__doSyncCallBack7s	$N(8RŠR‹RÄRaR@RÎRØRÔRER]R_R…R†RXRäRxR~RæRåRçRèRR
RRRRRëRìR2R3R5RéRêRQRíRURîRðRÝR‚RõRñR†RûRRRRRNRIRQR.RTRWR¾(((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyR›ðsf/			
										
	
		
								,	
			%								 	m	-		'								
	
	((Ht-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRRRRRRRR	R
RRR
RRRRRRRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtypesRt1Plugins.Extensions.IPTVPlayer.iptvupdate.iptvlistRt:Plugins.Extensions.IPTVPlayer.iptvdm.iptvdownloadercreatorRt+Plugins.Extensions.IPTVPlayer.iptvdm.iptvdhRt*Plugins.Extensions.IPTVPlayer.libs.pCommonRt4Plugins.Extensions.IPTVPlayer.components.articleviewRt.Plugins.Extensions.IPTVPlayer.components.ihostRRt7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRRGtTools.DirectoriesRtScreens.MessageBoxR tScreens.ChoiceBoxR!tScreens.ScreenR"tComponents.configR#tComponents.ActionMapR$tComponents.LabelR%tTools.BoundFunctionR&R'R(R|Rt
simplejsontosR)R“R*R©R+R°R,RR›(((sT/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvupdate/updatemainwindow.pyt<module>
s4Ž
•.