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:
ó
Eh-_c@sddlmZmZmZmZmZmZmZmZddl	m
Z
mZmZddl
mZddlmZddlmZmZddlmZddlmZmZddlmZmZmZ m!Z"m#Z$m%Z&m'Z(dd	l)Z)dd	l*Z*d
dd„ƒYZ+d	S(
iÿÿÿÿ(tprintDBGtprintExct	GetBinDirt	GetTmpDirtGetPyScriptCmdtIsFPUAvailabletReadGnuMIPSABIFPtGetResourcesServerUri(tCBinaryStepHelpert
CCmdValidatortSetupDownloaderCmdCreator(tTranslateTXT(t
MessageBox(tconfigt
configfile(t
boundFunction(tresolveFilenamet
SCOPE_PLUGINS(tpathtchmodtremovetlistdirtgetpidtsymlinktunlinkNt
IPTVSetupImplcBs±eZd„Zd„Zd„Zd?d?d„Zd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
d„Zd„Zd
„Zd„Zd„Zd„Zd?d„Zd„Zd„Zd„Zgd?d„Zd?d„Zd„Zd„Zd„Zd?d„Zd?d„Zd?d„Zd?d„Z d?d„Z!d?d„Z"d „Z#d?d!„Z$d?d"„Z%d?d#„Z&d?d$„Z'd?d%„Z(d?d&„Z)d?d'„Z*d?d(„Z+d?d)„Z,d?d*„Z-d?d+„Z.d?d,„Z/d?d-„Z0d?d.„Z1d?d/„Z2d?d0„Z3d?d1„Z4d?d2„Z5d?d3„Z6d?d4„Z7d?d5„Z8d6„Z9d7„Z:d?d8„Z;d?d9„Z<d:„Z=d?d;„Z>d?d<„Z?d=„Z@d?d>„ZARS(@cCstdƒ||_||_||_||_d|_d|_t|_	t
ƒ|_tƒg|_
d|_d|_d|_d|_dddddg|_d|_d	|_d
|_ddd
tddƒg|_tdƒdtdƒd
ftdƒdtddƒftdƒddftdƒdfg|_d|_ddg|_d|_dtddƒg|_tdƒdtdƒdftdƒdtddƒftdƒdfg|_tdƒdtdƒdftdƒdtddƒftdƒdfg|_dddg|_ dtd dƒg|_!tdƒd!tdƒdftdƒd"td dƒftdƒdfg|_"tdƒd#tdƒdftdƒd$td dƒftdƒdfg|_#id%d&6d'd(6|_$d)td*dƒg|_%tdƒd+tdƒd)ftdƒd,td*dƒftdƒdfg|_&id-d6d-d6d-d6d-d6|_'d.td/dƒg|_(tdƒd0tdƒd.ftdƒd1td/dƒftdƒdfg|_)d2|_*d3g|_+d4|_,d5g|_-d6|_.t/t0d7ƒg|_1d8|_2t/t0d9ƒg|_3d:|_4t/t0d;ƒd<g|_5d=|_6t/t0d>ƒd?g|_7d@|_8t/t0dAƒdBg|_9d|_:t/t0dCƒdDg|_;t|_<d|_=d|_>d|_?dS(ENs6IPTVSetupImpl.__init__ -------------------------------ttsh4tmipselti686tarmv7tarmv5ttunknowniÿÿÿÿintwgets
/usr/bin/wgets/usr/bin/fullwgetsInstall into the "%s".s/usr/bin/fullwget trecommendedsIPTVPlayer/bin/wgets Do not install (not recommended)i¯{3s/usr/bin/rtmpdumptrtmpdumpgš™™™™™é?s/usr/bin/f4mdumptf4mdumps/usr/bin/f4mdump (%s)sIPTVPlayer/bin/f4mdumps&/usr/bin/f4mdump static libstdc++ (%s)s(IPTVPlayer/bin/f4mdump _static_libstdc++iis/usr/bin/uchardettuchardets/usr/bin/uchardet (%s)sIPTVPlayer/bin/uchardets'/usr/bin/uchardet static libstdc++ (%s)s)IPTVPlayer/bin/uchardet _static_libstdc++is0.10i%'s1.0s/usr/bin/gstplayert	gstplayers/usr/bin/gstplayer (%s)sIPTVPlayer/bin/gstplayeri2s/usr/bin/exteplayer3texteplayer3s/usr/bin/exteplayer3 (%s)sIPTVPlayer/bin/exteplayer3s0.10.85s-/usr/lib/gstreamer-0.10/libgstflumpegdemux.sos1.1.1s&/usr/lib/gstreamer-1.0/libgstifdsrc.sogà?s6Extensions/IPTVPlayer/libs/iptvsubparser/_subparser.soiÚ's/Extensions/IPTVPlayer/libs/e2icjson/e2icjson.sogáz®GáÊ?sExtensions/IPTVPlayer/bin/hlsdls/usr/bin/hlsdlis!Extensions/IPTVPlayer/bin/cmdwraps/usr/bin/cmdwrapperisExtensions/IPTVPlayer/bin/duks/usr/bin/duksExtensions/IPTVPlayer/bin/duk6s
/usr/bin/duk6(@Rt	_finishedt_chooseQuestiont_showMessaget_setInfotNonet
workingObjt
stepHelpertFalsetterminationRttmpDirRtresourceServerst
ffmpegVersiontgstreamerVersiontopenSSLVersiont
libSSLPathtsupportedPlatformstplatformtglibcVersiontwgetVersionRt	wgetpathst_t_wgetInstallChoiseListtrtmpdumpVersiont
rtmpdumppathstf4mdumpVersiontf4mdumppathst_f4mdumpInstallChoiseListt_f4mdumpInstallChoiseList2tuchardetVersiont
uchardetpathst_uchardetInstallChoiseListt_uchardetInstallChoiseList2tgstplayerVersiontgstplayerpathst_gstplayerInstallChoiseListtexteplayer3Versiontexteplayer3pathst_exteplayer3InstallChoiseListtflumpegdemuxVersiontflumpegdemuxpathstgstifdsrcVersiontgstifdsrcPathstsubparserVersionRRtsubparserPathste2icjsonVersiont
e2icjsonPathsthlsdlVersiont
hlsdlPathstcmdwrapVersiontcmdwrapPathst
dukVersiontdukPathstduk6Versiont	duk6PathstbinaryInstalledSuccessfullyttriesthasAbiFlagstabiFP(tselftfinishedtchooseQuestiontshowMessagetsetInfo((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt__init__sŽ
																%											cCstdƒdS(Ns5IPTVSetupImpl.__del__ -------------------------------(R(Rb((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt__del__scCsTtdƒt|_d|_d|_d|_d|_|jrP|jj	ƒndS(Ns7IPTVSetupImpl.terminate -------------------------------(
RtTrueR0R,R(R)R*R+R-t	terminate(Rb((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRj‚s
						cCs$tdƒ|jr |jƒndS(NsIPTVSetupImpl.finish(RR((Rbtststret((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pytfinish‹s
	cCs-tdƒ|jr)|j|||ƒndS(NsIPTVSetupImpl.chooseQuestion(RR)(Rbttitletlisttcallback((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRds
	cCs-tdƒ|jr)|j|||ƒndS(NsIPTVSetupImpl.showMessage(RR*(RbtmessagettypeRp((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRe“s
	cCs*tdƒ|jr&|j||ƒndS(NsIPTVSetupImpl.setInfo(RR+(RbRnRq((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRf—s
	cCsPd|jkrL|jt|jj|dƒƒt|jj|dƒƒƒndS(Nii(R,R.RfR<t
getMessage(Rbtkey((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pytsetInfoFromStepHelper›scCstdƒ|jƒdS(NsIPTVSetupImpl.start(RtglibcVerDetect(Rb((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pytstartŸs
cCsktdƒ|jtdƒtdƒƒg}|jdƒd„}t|j||ƒ|_|jjƒdS(NsIPTVSetupImpl.glibcVerDetectsDetection of glibc version.s2Detection version of installed standard C library.sls /lib/libc-*.so 2>&1cSstdƒttfS(Ns IPTVSetupImpl._glibcVerValidator(RRiR/(tcodetdata((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_glibcVerValidator¬s
(RRfR<tappendR	tglibcVerDetectFinishedR-Rw(RbtcmdTabsRz((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRv¦s

	cCsktdƒy6tttjd|dƒjdƒƒdƒ|_Wntk
r\d|_nX|jƒdS(Ns$IPTVSetupImpl.glibcVerDetectFinishedslibc\-([0-9]+?\.[0-9]+?)\.iÿÿÿÿiiè(	RtinttfloattretsearchtgroupR9t	ExceptiontplatformDetect(RbtstsTabtdataTab((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR|²s
6

cCsÂtdƒ|jtdƒtdƒƒg}xa|jD]V}ttd|ƒ}yt|dƒWntk
rztƒnX|j	|dƒq6Wd„}t
|j||ƒ|_|jj
ƒdS(NsIPTVSetupImpl.platformDetectsDetection of the platform.sVPlugin can be run on one of the following platforms: sh4, mipsel, i686, armv7, armv5t.s+Extensions/IPTVPlayer/bin/%s/platformtesteriÿs  2>&1 cSs.tdƒd|kr ttfSttfSdS(Ns IPTVSetupImpl._platformValidatorsTest platform OK(RRiR/(RxRy((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_platformValidatorÈs

(RRfR<R7RRtos_chmodRƒRR{R	tplatformDetectFinishedR-Rw(RbR}R8tplatformtesterPathR‡((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR„¿s

	cs™tdƒ‡fd†}t|ƒdkrct|dkrc|ˆjt|ƒdƒˆjƒn2|dƒˆjtdƒtjt	ˆj
tƒƒdS(Ns$IPTVSetupImpl.platformDetectFinishedcsP|ˆ_ˆjtjjj_tdˆjƒtjjjjƒtjƒdS(Ns1IPTVSetupImpl.platformDetectFinished platform[%s](	R8R
tpluginst
iptvplayertplarformtvalueRtsaveR(R8(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_saveConfigÑs
	iiÿÿÿÿiR s8Fatal Error!
Plugin is not supported with your platform.(RtlenRiR7t	detectFPUReR<Rt
TYPE_ERRORRRmR/(RbR…R†R((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR‰Ïs
"

cCs·tdƒtjjjjdkrÝtdƒ\}}|dkrº|dkrUd}nd}tjjjj|kr¥|tjjj_tjjjjƒt	jƒn||_
||_ntd	|j
|jtƒfƒntjjjjdkstƒstjjjjd
kr#|j
ƒn|jtdƒtdƒƒd
„}g}x=|jD]2}|jd||j|j|j|jfƒqXWt|j||ƒ|_|jjƒdS(NsIPTVSetupImpl.detectFPURs/lib/libc.so.6iÿÿÿÿiit
soft_floatt
hard_floats.>> detectFPU hasAbiFlags[%s] abiFP[%s] -> [%s]RsDetection of MIPSEL FPU ABI.sAThis step is required to proper select binaries for installation.cSs$d|krttfSttfSdS(NsIPTVPLAYER FPU TEST(RiR/(RxRy((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt
_cmdValidatorös
stwget -q "%sbin/mipsel/fputest" -O "%s/fputest" ; chmod 777 "%s/fputest" ; "%s/fputest" ; rm "%s/fputest" 2>/dev/null(iÿÿÿÿi(RR
R‹RŒRRŽRtplarformfpuabiRRR`RaRtgetOpensslVersionRfR<R2R{R1R	tdetectFPUFinishedR-Rw(RbR`RatvalR–t	outCmdTabtresourceServer((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR’âs.
	
	#9
	0cCsztdƒd„}t|ƒdkrld|dkrB|tƒqld|dkr_|tƒqltdƒn|jƒdS(NsIPTVSetupImpl.detectFPUFinishedcSs\|rdtjjj_ndtjjj_td|ƒtjjjjƒtjƒdS(NR•R”s/IPTVSetupImpl.detectFPUFinished isHardFloat[%r](R
R‹RŒR—RŽRRR(tisHardFloat((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRsisIPTVPLAYER FPU TEST OKiÿÿÿÿsIPTVPLAYER FPU TEST NOT OKs0IPTVSetupImpl.detectFPUFinished detection failed(RR‘RiR/R˜(RbR…R†R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR™s
		


cCsktdƒ|jtdƒtdƒƒd„}g}|jdƒt|j||ƒ|_|jjƒdS(NsIPTVSetupImpl.getOpensslVersions!Detection of the OpenSSL version.s5OpenSSL lib is needed by wget and rtmpdump utilities.cSs$|dkrttfSttfSdS(Ni(RiR/(RxRy((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt
_verValidators
sopenssl version -a(RRfR<R{R	tgetOpensslVersionFinishedR-Rw(RbRžt	verCmdTab((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR˜s
	
cCs³tdƒt|ƒdkrmt|dkrmx>ddddgD]'}||dkr?d||_Pq?q?Wn|jd	kr‰|jƒn&|jd
kr¥|jƒn
|jƒdS(Ns'IPTVSetupImpl.getOpensslVersionFinishediiÿÿÿÿs0.9.8s1.0.0s1.0.2s1.1.1t.Rs.1.0.2(RR‘RiR5tsetOpenSSLVersiontgetOpenssl2FinishedtgetGstreamerVer(RbR…R†tver((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRŸ's
"


cCs¸tdƒ|jtdƒtdƒƒxýdddgD]ì}t}t}d}xÁdd	d
ddgD]ª}y†|d
|}tj|ƒr©tj|ƒr©t}|}n|d|}tj|ƒrßtj|ƒrßt}n|rï|rïPnWqdtk
r
t	ƒqdqdXqdW|r6|r6Pq6q6W|rƒ|rƒ||_
||_d|kr]|jƒq´d|krv|j
ƒq´|jƒn1d|_
|jtdƒtjt|jtƒƒdS(NsCheck opennSSL versions!Detection of the OpenSSL version.s5OpenSSL lib is needed by wget and rtmpdump utilities.s.0.9.8s.1.0.0s.1.0.2Rs	/usr/lib/s/lib/s/usr/local/lib/s/local/lib/s/lib/i386-linux-gnu/s	libssl.soslibcrypto.sosEFatal Error!
Openssl could not be found. Please install it and retry.(RRfR<R/tos_pathtisfiletislinkRiRƒRR5R6R£R¤tgetOpenssl1VerReRR“RRm(RbRlR¥tlibsslExisttlibcryptoExistR6RtfilePath((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR¢7s@
		
		


	cCsltdƒ|jtdƒdƒd„}g}|jd|jƒt|j||ƒ|_|jj	ƒdS(NsIPTVSetupImpl.getOpenssl1Vers'Detection of the OpenSSL 1.0.0 version.cSs$d|krttfSttfSdS(Ns1.0.0(RiR/(RxRy((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRžes
sgrep OPENSSL_1.0.0 "%s"(
RRfR<R,R{R6R	tgetOpenssl1FinishedR-Rw(RbRžR ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR©as
	cCsGtdƒt|ƒdks,t|dkr9|jƒn
|jƒdS(Ns!IPTVSetupImpl.getOpenssl1Finishediiÿÿÿÿ(RR‘R/R£R¤(RbR…R†((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR­os
"
c
Cs¨tdƒd|_d|_i}x€ddgD]r}xiddddgD]U}xLd	d
gD]>}||7}tj||ƒ}tj|ƒr[|||<q[q[WqHWq/Wg}xbd	d
gD]T}|d|kr¸|d|kr¸|j||d||dd dgƒq¸q¸Wt|ƒršg}x-|D]%}|jd
|d|dfƒq)Wtdddj|ƒdfƒ}	|j	|	t
jt|j
|ƒƒdS|jƒdS(Ns!IPTVSetupImpl.getOpenssl2Finisheds.1.0.2Rs.1.0.0s	/usr/lib/s/lib/s/usr/local/lib/s/local/lib/s	libssl.soslibcrypto.soiÿÿÿÿt0s%s -> %siisÇOpenSSL in your image has different library names then these used by %s.
There is need to create following symlinks:
%s
to be able to install binary components from %s server.
Do you want to proceed?t	E2iPlayers
(RR5R6R¦tjoinR§R{R‘R<ReRt
TYPE_YESNORtcreateOpenSSLSymlinksR¤(
Rbt
openSSlVerMapR¥RtlibrarytfullLibraryPathtlinksTabtsymlinksTexttitemtmsg((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR£vs.
		
 2
#""cCsÊy‚|rt|ƒrxi|D]^}y(tj|dƒrIt|dƒnWntk
rdtƒnXt|d|dƒqWnWn7tk
r»}|jtdƒ|t	j
|jƒdSX|jƒdS(Niis`Create OpenSSL symlinks failed with following error "%s".
Some functions may not work correctly.(R‘R¦R¨t	os_unlinkRƒRt
os_symlinkReR<RtTYPE_WARNINGR¤(RbR¶targR¸te((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR²™s

 #cCstdtƒƒ|jtdƒdƒd„}g}|jdtƒƒ|jdƒ|jdƒt|j||ƒ|_|jj	ƒdS(NsCIPTVSetupImpl.getGstreamerVer >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [%s]s#Detection of the gstreamer version.cSs:d|krttfSd|kr,ttfSttfSdS(Nslibgstbase-sGStreamer Core Library version (RiR/(RxRy((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRž¯s


scat /proc/%s/maps | grep libgstsgst-launch-1.0 --gst-versionsgst-launch --gst-version(
Rt	os_getpidRfR<R,R{R	tgetGstreamerVerFinishedR-Rw(RbR½RžR ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR¤¬s	

cCs¿tdƒt|ƒdkr¨t|dkr¨d|dkrHd|_q±d|dkrdd|_q±d|dkr€d|_q±d	|dkrœd|_q±d
|_n	d
|_|jƒdS(Ns%IPTVSetupImpl.getGstreamerVerFinishediiÿÿÿÿslibgstbase-1.0.sos1.0slibgstbase-0.10.sos0.10s version 1.s version 0.R(RR‘RiR4tgetFFmpegVer(RbR…R†((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÀ½s
"	cCsXtdƒ|jtdƒdƒd„}t|j|ddgƒ|_|jjƒdS(NsIPTVSetupImpl.getFFmpegVers Detection of the ffmpeg version.cSs$d|krttfSttfSdS(Ni(RiR/(RxRy((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRžÓs
s*/iptvplayer_rootfs/usr/bin/ffmpeg -versionsffmpeg -version(RRfR<R,R	tgetFFmpegVerFinishedR-Rw(RbRž((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÁÐs

	cCs¯tdƒt|ƒdkr˜t|dkr˜yLtjd|dƒjdƒ|_d|jdkrw|jd |_nWq¡tk
r”d|_q¡Xn	d|_|jƒdS(Ns"IPTVSetupImpl.getFFmpegVerFinishediiÿÿÿÿs!ffmpeg version ([0-9.]+?)[^0-9^.]iR¡R(	RR‘RiR€RR‚R3RƒtwgetStep(RbR…R†((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÂÙs
""
	cstdƒ‡fd†}d„}‡fd†}tdˆjˆjtjjjƒˆ_ˆjj	dt
dƒdd
ƒˆjjˆjƒˆjj
ˆjƒˆjjd„ƒˆjj|ƒˆjj|ƒˆjj|ƒˆjjˆjƒˆjƒdS(
NsIPTVSetupImpl.wgetStepcsÎd|krÄd|krÄyvtjd|ƒ}|dkrht|jdƒƒdt|jdƒƒ}n%ttjd|ƒjdƒƒd}Wntk
r§d}nX|ˆjkrÄttfSnttfS(	NtBusyBoxs+httpss&GNU Wget 1\.([0-9]+?)\.([0-9]+?)[^0-9]iidisGNU Wget 1\.([0-9]+?)[^0-9]i(	R€RR,R~R‚RƒR:RiR/(RxRytobjR¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_detectValidatorès/)


cSshtd}}xNtt|ƒƒD]:}d||kr d||kr t||}}q q W||fS(NRRÄs+https(R/trangeR‘Ri(tpathsR…R†RktretPathtidx((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_deprecatedHandleròs

 c
sÐd}idd6dd6}|dkrKˆjsBˆj||krKd}n|dkrv|dkrvtƒrvd}n|d|d	||fd
|}ˆjr¯tˆ_n||}t||ƒd}	|	S(
NRiŽRi˜Rt_oldt_softfpusbin/s/%s%st_openssls > /dev/null 2>&1(ssh4smipsel(R^R9RR/R
(
tbinNameR8R5tserverttmpPathtoldtversionsturlttmpFiletcmd(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_downloadCmdBuilderøs(	"	$	
R!t	detectionsKThe "%s" utility is used by the %s to buffering and downloading [%s] links.R¯shttp, https, f4m, uds, hlsicSs|dS(Ns	 -V 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt<lambda>s(swgets	E2iPlayershttp, https, f4m, uds, hls(RRR8R5R
R‹RŒtwgetpathR.t
updateMessageR<tsetInstallChoiseListR=tsetPathsR;tsetDetectCmdBuildertsetDetectValidatortsetDownloadCmdBuildertsetDeprecatedHandlertsetFinishHandlertwgetStepFinishedtbinaryDetect(RbRlRÆRËR×((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÃæs

	' cCstd|ƒ|jƒdS(Ns&IPTVSetupImpl.wgetStepFinished sts[%r](RtrtmpdumpStep(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRãscs$tdƒtˆ_‡fd†}d„}‡fd†}d„}tdˆjˆjtjjj	ƒˆ_
ˆj
jdtdƒddƒˆj
j
dgƒˆj
jˆjƒˆj
jd
„ƒˆj
j|ƒˆj
j|ƒˆj
j|ƒˆj
j|ƒˆj
jˆjƒˆjƒdS(NsIPTVSetupImpl.rtmpdumpStepcsƒy^tjd|ƒ}t|jdƒ|jdƒ|jdƒƒ}ˆj|kr]ttfSWntk
rxtƒnXttfS(Ns"([0-9]{4})\-([0-9]{2})\-([0-9]{2})iii(	R€RR~R‚R>RiR/RƒR(RxRytrawVerR¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆ s/
cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRs
RTMPDump v2.4(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRË)s

c
sád}idd6dd6}|dkrKˆjsBˆj||krKd}n|d
kriˆjrid}n|dkr”|dkr”tƒr”d}n|d	|||f}ˆjrÀtˆ_n|d
}t||ƒd}	|	S(NRiŽRi˜RRÌRRÍs)rtmpdump/rtmpdump_%s%s_libssl.so%s.tar.gzsrtmpdump.tar.gzs > /dev/null 2>&1(ssh4smipsel(sarmv7(R^R9RR/R
(
RÏR8R5RÐRÑRÒRÓRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×.s(		"		
cSs|d}d|}|S(Nsrtmpdump.tar.gzstar -xzf "%s" -C / 2>&1((RÏtbinaryInstallPathRÑt
sourceArchiveRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_installCmdBuilderCs

R#RØsKThe "%s" utility is used by the %s to buffering and downloading [%s] links.R¯s!rtmp, rtmpt, rtmpe, rtmpte, rtmpsis/usr/bin/rtmpdumpcSs|dS(Ns	 -V 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙLs(srtmpdumps	E2iPlayers!rtmp, rtmpt, rtmpe, rtmpte, rtmps(srtmpdumps/usr/bin/rtmpdump(RR/R^RR8R5R
R‹RŒtrtmpdumppathR.RÛR<RÜRÝR?RÞRßRáRàtsetInstallCmdBuilderRâtrtmpdumpStepFinishedRä(RbRlRÆRËR×Ré((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRås"
				' cCstd|ƒ|jƒdS(Ns*IPTVSetupImpl.rtmpdumpStepFinished sts[%r](RtuchardetStep(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRìTscstdƒtˆ_‡fd†}d„}‡fd†}tdˆjˆjtjjj	ƒˆ_
ˆj
jdtdƒdd	ƒˆj
j
ˆjƒˆj
jˆjƒˆj
jd
„ƒˆj
j|ƒˆj
j|ƒˆj
j|ƒˆj
jˆjƒˆjƒdS(NsIPTVSetupImpl.uchardetStepcs(ˆjrˆjjˆjƒnˆjjˆjƒyÑtjd|ƒ}t|jdƒƒ}t|jdƒƒ}t|jdƒƒ}|ˆj	dksø|ˆj	dkr¿|ˆj	dksø|ˆj	dkr|ˆj	dkr|ˆj	dkrt
tfSWntk
rt
ƒnXtt
fS(Ns"Version\s([0-9])\.([0-9])\.([0-9])iiii(R^R.RÜRGRFR€RR~R‚RDRiR/RƒR(RxRyRætUCHARDET_VERSION_MAJORtUCHARDET_VERSION_MINORtUCHARDET_VERSION_REVISION(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆ^s	&9
cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRsAuthor: BYVoid(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËms

c	s¨d}dˆjkr6ˆjr6ˆjdkr6d}nˆjrk|d|d||fd}tˆ_n|d|d||f}||}t||ƒd}|S(	NRRR”RÍsbin/s/%s%ss_static_libstdc++s > /dev/null 2>&1(R8R`RaR^R/R
(	RÏR8R5RÐRÑtfpuVerRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×rs'		 
R%RØsIThe "%s" utility is used by the %s to determine the encoding of the text.R¯icSs|dS(Ns --version 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRلs(s	E2iPlayersuchardet(RR/R^RR8R5R
R‹RŒtuchardetpathR.RÛR<RÜRFRÝRERÞRßRàRáRâtuchardetStepFinishedRä(RbRlRÆRËR×((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRí[s
		' cCstd|ƒ|jƒdS(Ns*IPTVSetupImpl.uchardetStepFinished sts[%r](Rt
subparserStep(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRó‹scCs(td|j|jfƒt}yÖd}|jdkr§tƒrt|jdkrYd}q¤|jdkr¤d}q¤q+|jdkrŒd	}q+|jdkr+d
}q+n„|jdkré|jdkrÎd}q+|jd
kr+d}q+nB|jdkr|jdkr+d}q+n|jdkr+d}ndtjdtjdf}|d|7}td|ƒ|jdkr‰|dkr‰t}nl|jdkr­|dkr­t}nH|jdkrÑ|dkrÑt}n$|jdkrõ|dkrõt}nWntk
rt	ƒnX|r$|j
|ƒSdS(Ns/getPackageName platform [%s] glibcVersion [%s] tnoneRi¢RiHRÌi˜RÍt_old_softfpuRiŽi4Ri„Rspython%s.%siis_{0}s%getPackageName remoteBinaryName [%s] spython2.6_{0}_oldspython2.6_{0}_old_softfpus
python2.7_{0}spython2.7_{0}_oldspython2.7_{0}_old_softfpuspython2.7_{0}_softfpu(spython2.6_{0}_oldspython2.6_{0}_old_softfpus
python2.7_{0}spython2.7_{0}_oldspython2.7_{0}_old_softfpuspython2.7_{0}_softfpu(spython2.6_{0}_olds
python2.7_{0}spython2.7_{0}_old(RR8R9R/Rtsystversion_infoRiRƒRtformat(RbtnametpackageAvailableRÒtremoteBinaryName((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pytgetPackageNamesN									

c
s®tdƒd„}‡fd†}‡fd†}d„}ˆjdƒ}|r t|ˆjˆjdƒˆ_tdƒ}tdƒ}td	ƒ}	ˆjjd
|dƒˆjjd
|dƒˆjjd
|tdƒ|	|dƒˆjjd|tdƒ|	|dƒˆjj	dˆj
dfgƒˆjjˆj
ƒˆjj|ƒˆjj
|ƒˆjj|ƒˆjj|ƒˆjjˆjƒˆjƒn
ˆjƒdS(NsIPTVSetupImpl.subparserStepcSs!tdƒdttdƒ}|S(Ntmodvers "%s" iptvsubparser _subparser sExtensions/IPTVPlayer/libs/(RRR(RRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt_detectCmdBuilderÃscsjtd||fƒd|kr`y)t|jƒƒˆjkrHttfSWq`tk
r\q`XnttfS(Ns0subparserStep_detectValidator code[%d], data[%s]i(RRtstripRRRiR/Rƒ(RxRy(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆÇs
csIy+t|djƒƒ}tˆjdfSWntk
r>nXtdfS(NiR(RRRiRSRƒR/(RÈR…R†R¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËÑs
cSs7|d|d|}||}t||ƒd}|S(Nsbin/s/%ss > /dev/null 2>&1(R
(RÏR8R5RÐRÑRÔRÕRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×Ùs
s
_subparser.sosC subtitle parsers4
For more info please ask the author samsamsam@o2.plsIt improves subtitles parsing.
RØiitnot_detected_2s4 has not been detected. 
Do you want to install it? tdeprecated_2s1 is deprecated. 
Do you want to install new one? (RRýRR8R5R,R.R<RÛRÜRSRÝRÞRßRàRáRâtsubparserStepFinishedRäte2icjsonStep(
RbRlRÿRÆRËR×Rütmsg1tmsg2tmsg3((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRôÀs0
	
	(( 
cCstd|ƒ|jƒdS(Ns+IPTVSetupImpl.subparserStepFinished sts[%r](RR(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRõsc
s²tdƒd„}‡fd†}‡fd†}d„}ˆjdƒ}|r¤t|ˆjˆjdƒˆ_tdƒ}tdƒd	}td
ƒ}	ˆjjd|dƒˆjjd|d
ƒˆjjd|tdƒ|	|d
ƒˆjjd|tdƒ|	|d
ƒˆjj	dˆj
dfgƒˆjjˆj
ƒˆjj|ƒˆjj
|ƒˆjj|ƒˆjj|ƒˆjjˆjƒˆjƒn
ˆjƒdS(NsIPTVSetupImpl.e2icjsonStepcSs!tdƒdttdƒ}|S(NRþs "%s" e2icjson e2icjson sExtensions/IPTVPlayer/libs/(RRR(RRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÿÿscs§td||fƒd|kryf|jƒjdƒ}t|dƒdt|dƒdt|dƒ}|ˆjkr…ttfSWqtk
r™qXnttfS(Ns/e2icjsonStep_detectValidator code[%d], data[%s]iR¡i'iidi(RRtsplitR~RTRiR/Rƒ(RxRyR¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆs4
cs|y^tjƒjdƒ}t|dƒdt|dƒdt|dƒ}tˆjdfSWntk
rqnXtdfS(NR¡ii'iidiR(RyRRR~RiRURƒR/(RÈR…R†R¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËs4
cSs7|d|d|}||}t||ƒd}|S(Nsbin/s/%ss > /dev/null 2>&1(R
(RÏR8R5RÐRÑRÔRÕRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×s
se2icjson.sospython-cjsons
For more info please ask %s ssamsamsam@o2.plsIt improves json data parsing.
RØiiRs4 has not been detected. 
Do you want to install it? Rs1 is deprecated. 
Do you want to install new one? (RRýRR8R5R,R.R<RÛRÜRURÝRÞRßRàRáRâte2icjsonStepFinishedRät	hlsdlStep(
RbRlRÿRÆRËR×RüRRR((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRüs0
			(( 
cCstd|ƒ|jƒdS(Ns*IPTVSetupImpl.e2icjsonStepFinished sts[%r](RR
(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR	4scs˜tdƒtˆ_‡fd†}d„}‡fd†}tdˆjˆjtjjj	ƒˆ_
tdƒ}tdƒ}tdƒ}ˆj
jd	|d
ƒˆj
jd	|dƒˆj
jd|td
ƒ||dƒˆj
jd|tdƒ||dƒˆj
j
dˆjd
fgƒˆj
jˆjƒˆj
jd„ƒˆj
j|ƒˆj
j|ƒˆj
j|ƒˆj
jˆjƒˆjƒdS(NsIPTVSetupImpl.hlsdlStepcsrd|krhy>tjd|ƒjdƒ}t|ƒˆjkrIttfSWqhtk
rdtƒqhXnttfS(Nshlsdl vshlsdl v([0-9.]+?)[^0-9^.]i(	R€RR‚RRVRiR/RƒR(RxRyttmp(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆ?s
cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRshlsdl v(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËIs

c
sÐd}idd6dd6}|dkrKˆjsBˆj||krKd}n|dkrv|dkrvtƒrvd}n|d|d	||fd
|}ˆjr¯tˆ_n||}t||ƒd}	|	S(
NRiŽRi˜RRÌRÍsbin/s/%s%st_static_curl_openssls > /dev/null 2>&1(ssh4smipsel(R^R9RR/R
(
RÏR8R5RÐRÑRÒRÓRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×Os(	"	$	
thlsdlshlsdl downloaders)
For more info please ask samsamsam@o2.pls&It improves HLS/M3U8 stream download.
RØiiRs4 has not been detected. 
Do you want to install it? Rs1 is deprecated. 
Do you want to install new one? cSs|dS(Ns 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙls(RR/R^RR8R5R
R‹RŒt	hlsdlpathR.R<RÛRÜRWRÝRÞRßRàRáRâthlsdlStepFinishedRä(RbRlRÆRËR×RRR((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR
;s*
	
	'(( cCstd|ƒ|jƒdS(Ns'IPTVSetupImpl.hlsdlStepFinished sts[%r](RtcmdwrapStep(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRsscstdƒ‡fd†}d„}‡fd†}tdˆjˆjtjjjƒˆ_t	dƒ}t	dƒ}t	dƒ}ˆjj
d	|d
ƒˆjj
d	|dƒˆjj
d|t	d
ƒ||dƒˆjj
d|t	dƒ||dƒˆjjdˆjd
fgƒˆjj
ˆjƒˆjjd„ƒˆjj|ƒˆjj|ƒˆjj|ƒˆjjˆjƒˆjƒdS(NsIPTVSetupImpl.cmdwrapStepcsrd|krhy>tjd|ƒjdƒ}t|ƒˆjkrIttfSWqhtk
rdtƒqhXnttfS(Nscmdwrapper input_filesVersion\:\s*?([0-9.]+?)[^0-9^.]i(	R€RR‚RRXRiR/RƒR(RxRyR(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆ}s
cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRscmdwrap input_file(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRˇs

c
sªd}idd6dd6}|dkrBˆj||krBd}n|dkrm|dkrmtƒrmd}n|d|d	||f}||}t||ƒd
}	|	S(NRiŽRi˜RRÌRÍsbin/s/%s%ss > /dev/null 2>&1(ssh4smipsel(R9RR
(
RÏR8R5RÐRÑRÒRÓRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR׍s	"	
tcmdwrapscmdwrap tools)
For more info please ask samsamsam@o2.pls9It improves commands execution with very long arguments.
RØiiRs4 has not been detected. 
Do you want to install it? Rs1 is deprecated. 
Do you want to install new one? cSs|dS(Ns 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙ¨s(RRR8R5R
R‹RŒtcmdwrappathR.R<RÛRÜRYRÝRÞRßRàRáRâtcmdwrapStepFinishedRä(RbRlRÆRËR×RRR((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRzs(

	'(( cCstd|ƒ|jƒdS(Ns)IPTVSetupImpl.cmdwrapStepFinished sts[%r](RtdukStep(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR¯scs˜tdƒtˆ_‡fd†}d„}‡fd†}tdˆjˆjtjjj	ƒˆ_
tdƒ}tdƒ}tdƒ}ˆj
jd	|d
ƒˆj
jd	|dƒˆj
jd|td
ƒ||dƒˆj
jd|tdƒ||dƒˆj
j
dˆjd
fgƒˆj
jˆjƒˆj
jd„ƒˆj
j|ƒˆj
j|ƒˆj
j|ƒˆj
jˆjƒˆjƒdS(NsIPTVSetupImpl.dukStepcsrd|krhy>ttjd|ƒjdƒƒ}|ˆjkrIttfSWqhtk
rdtƒqhXnttfS(Nsrestrict-memorysVER_FOR_IPTV\:\s([0-9]+?)
i(	R~R€RR‚RZRiR/RƒR(RxRyR¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRƺs!
cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRsrestrict-memory(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËÄs

csÅd}d}idd6dd6}|dkrQˆjsHˆj||krQd}n|dkrptƒrpd}n|d|d	|||f}ˆjr¤tˆ_n||}	t||	ƒd
}
|
S(NRiŽRi˜RRÌRÍsbin/s/%s%s%ss > /dev/null 2>&1(ssh4smipsel(R^R9RR/R
(RÏR8R5RÐRÑRÒtsoftfpuRÓRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×Ês(			
tduktduktapes!
Please visit http://duktape.org/s_Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint.
RØiiRs4 has not been detected. 
Do you want to install it? Rs1 is deprecated. 
Do you want to install new one? cSs|dS(Ns
 --help 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙès(RR/R^RR8R5R
R‹RŒtdukpathR.R<RÛRÜR[RÝRÞRßRàRáRâtdukStepFinishedRä(RbRlRÆRËR×RRR((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR¶s*
	
	'(( cCstd|ƒ|jƒdS(Ns%IPTVSetupImpl.dukStepFinished sts[%r](Rtf4mdumpStep(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRïscstdƒtˆ_‡fd†}d„}‡fd†}tdˆjˆjtjjj	ƒˆ_
ˆj
jdtdƒdd
ƒˆj
j
ˆjƒˆj
jˆjƒˆj
jd„ƒˆj
j|ƒˆj
j|ƒˆj
j|ƒˆj
jˆjƒˆjƒdS(
NsIPTVSetupImpl.f4mdumpStepcs¤ˆjrˆjjˆjƒnˆjjˆjƒd|kršy>tjd|ƒjdƒ}t|ƒˆj	kr{t
tfSWqštk
r–t
ƒqšXntt
fS(Ns	F4MDump vsF4MDump v([0-9.]+?)[^0-9^.]i(R^R.RÜRCRBR€RR‚RR@RiR/RƒR(RxRyR(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆùs	
cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRs	F4MDump v(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËs

c	s°d}dˆjkr6ˆjr6ˆjdkr6d}nˆjro|d|d||f|d}tˆ_n |d|d||f|}||}t||ƒd}|S(	NRRR”RÍsbin/s
/%s%s_openssls_static_libstdc++s > /dev/null 2>&1(R8R`RaR^R/R
(	RÏR8R5RÐRÑRñRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×	s'		$ 
R$RØsKThe "%s" utility is used by the %s to buffering and downloading [%s] links.R¯sf4m, udsicSs|dS(Ns 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙs(sf4mdumps	E2iPlayersf4m, uds(RR/R^RR8R5R
R‹RŒtf4mdumppathR.RÛR<RÜRBRÝRARÞRßRàRáRâtf4mdumpStepFinishedRä(RbRlRÆRËR×((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRös
		' cCs*td|ƒ|j}t|jƒdkr<|jd }n|jdkrm|dkrm||_|jƒn¹|jdkrž|dkrž||_|jƒnˆ|jdkrÏ|dkrÏ||_|jƒnW|jdkr|d kr||_|jƒn&d|jkr|jƒn
|jƒdS(!Ns)IPTVSetupImpl.f4mdumpStepFinished sts[%r]iiþÿÿÿRs1.0s1.1s1.2s2.0s2.2s2.5s2.6s2.7s2.8s3.0s3.1s3.2s3.3s3.4s4.0s4.1RRRR(ssh4(s1.0s1.1s1.2s2.0s2.2s2.5s2.6s2.7s2.8s3.0s3.1s3.2s3.3s3.4s4.0s4.1(smipsel(s2.8s3.0s3.1s3.2s3.3s3.4s4.0s4.1(sarmv7(s2.8s3.0s3.1s3.2s3.3s3.4s4.0s4.1(sarmv5t(s2.8s3.0s3.1s3.2s3.3s3.4s4.0s4.1(RR3R‘R8texteplayer3StepR4t
gstplayerStepRm(RbRkRltshortFFmpegVersion((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR"s&		
	
	
	

cstdƒ‡fd†}d„}‡fd†}tdˆjˆjtjjjƒˆ_ˆjj	dt
dƒdd	ƒˆjjˆjƒˆjj
ˆjƒˆjjd
„ƒˆjj|ƒˆjjt|ˆjƒƒˆjj|ƒˆjjˆjƒˆjƒdS(NsIPTVSetupImpl.exteplayer3Stepcs€d|krvy%ttjd|ƒjdƒƒ}Wntk
rJd}nX|ˆjjˆjdƒkrvtt	fSnt	tfS(Ns {"EPLAYER3_EXTENDED":{"version":s"version":([0-9]+?)[^0-9]ii(
R~R€RR‚RƒRKtgetR8RiR/(RxRyR¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆ<s%


cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRs {"EPLAYER3_EXTENDED":{"version":(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËBs

c
swd}dˆjkr6ˆjr6ˆjdkr6d}n|d|d||f|}||}t||ƒd}	|	S(NRRR”RÍsbin/s/%s%s_ffmpegs > /dev/null 2>&1(R8R`RaR
(
R3RÏR8R5RÐRÑRñRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×Gs'	 
R'RØs_The "%s" utility is used by the %s as external movie player based on the ffmpeg and libeplayer.R¯icSs|dS(Ns 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙSs(s	E2iPlayersexteplayer3(RRR8R5R
R‹RŒtexteplayer3pathR.RÛR<RÜRMRÝRLRÞRßRàRR3RáRâtexteplayer3StepFinishedRä(RbRlRÆRËR×((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR:s
	' cCs8td|ƒd|jkr*|jƒn
|jƒdS(Ns-IPTVSetupImpl.exteplayer3StepFinished sts[%r]R(RR4RRm(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR"Zs
cs:tdƒˆjdkrBˆjdkrBtdƒˆjtƒnô‡fd†}d„}‡fd†}tdˆjˆjtjj	j
ƒˆ_ˆjjd	t
d
ƒddƒˆjjˆjƒˆjjˆjƒˆjjd
„ƒˆjj|ƒˆjj|ƒˆjj|ƒˆjjˆjƒˆjƒdS(NsIPTVSetupImpl.gstplayerSteps0.10RsESkip gstplayer 0.10 step installation - no binary for armv5t platformcsžd|kr”y%ttjd|ƒjdƒƒ}Wntk
rJd}nXdˆjksf|dkr”|ˆjjˆjdƒkr‘tt	fSq”nt	tfS(Ns!{"GSTPLAYER_EXTENDED":{"version":s"version":([0-9]+?)[^0-9]iis0.10i'(
R~R€RR‚RƒR4RHR RiR/(RxRyR¥(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆhs%

cSsXtd}}x>tt|ƒƒD]*}d||kr t||}}q q W||fS(NRs!{"GSTPLAYER_EXTENDED":{"version":(R/RÇR‘Ri(RÈR…R†RkRÉRÊ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËps

c	s‰d}dˆjkrEˆjdkrEˆjrEˆjdkrEd}n|d|d||fˆj}||}t||ƒd}|S(	NRRs1.0R”RÍsbin/s/%s%s_gstreamers > /dev/null 2>&1(R8R4R`RaR
(	RÏR8R5RÐRÑRñRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×us6	#
R&RØs<The "%s" utility is used by the %s as external movie player.R¯icSs|dS(Ns 2>&1 ((R((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRقs(sarmv5t(s	gstplayers	E2iPlayer(RR4R8tgstplayerStepFinishedR/RR5R
R‹RŒt
gstplayerpathR.RÛR<RÜRJRÝRIRÞRßRàRáRâRä(RbRlRÆRËR×((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRbs"

		' cCsKtd|ƒ|r=d|jkr0|jƒqG|jƒn
|jƒdS(Ns+IPTVSetupImpl.gstplayerStepFinished sts[%r]s0.10(RR4tflumpegdemuxStept
gstifdsrcStepRm(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR#‰s

csŒtdƒ‡fd†}‡fd†}d„}tdˆjˆjdƒˆ_tdƒ}tdƒ}tdƒ}ˆjjd	|d
ƒˆjjd	|dƒˆjjd|td
ƒ||dƒˆjjd|tdƒ||dƒˆjjdˆj	d
fgƒˆjj
ˆj	ƒˆjj‡fd†ƒˆjj|ƒˆjj
|ƒˆjj|ƒˆjjˆjƒˆjƒdS(NsIPTVSetupImpl.flumpegdemuxStepcs/d|ksˆj|kr%ttfSttfS(Ni(RNRiR/(RxRy(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRƘs
csktd}}ytjˆjdƒ}Wntk
r@d}nXd|krat|d}}n||fS(NRiiÿÿÿÿ(R/R¦tgetsizeRORƒRi(RÈR…R†RkRÉtcurrentSize(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR˜s


cSs;|d|d|d}||}t||ƒd}|S(Nsbin/s
/%s_gstreamers0.10s > /dev/null 2>&1(R
(RÏR8R5RÐRÑRÔRÕRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×¢s
slibgstflumpegdemux.sos$Fluendo mpegdemux for GSTREAMER 0.10s/
For more info please visit http://fluendo.com/s)It improves playing of streams hls/m3u8.
RØiiRs4 has not been detected. 
Do you want to install it? Rs1 is deprecated. 
Do you want to install new one? sgst-fluendo-mpegdemuxcsdˆj|fS(Nsgrep "%s" "%s" 2>&1 (RN(R(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙ²s(RRR8R5R,R.R<RÛRÜRORÝRÞRßRàRáRâtflumpegdemuxStepFinishedRä(RbRlRÆRËR×RRR((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR%–s(
	(( cCstd|ƒ|jƒdS(Ns.IPTVSetupImpl.flumpegdemuxStepFinished sts[%r](RRm(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR)¹scs’tdƒ‡fd†}‡fd†}‡fd†}tdˆjˆjdƒˆ_tdƒ}tdƒ}tdƒ}ˆjjd	|d
ƒˆjjd	|dƒˆjjd|td
ƒ||dƒˆjjd|tdƒ||dƒˆjjdˆj	d
fgƒˆjj
ˆj	ƒˆjj‡fd†ƒˆjj|ƒˆjj
|ƒˆjj|ƒˆjjˆjƒˆjƒdS(NsIPTVSetupImpl.gstifdsrcStepcs/d|ksˆj|kr%ttfSttfS(Ni(RPRiR/(RxRy(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÆÂs
csktd}}ytjˆjdƒ}Wntk
r@d}nXd|krat|d}}n||fS(NRiiÿÿÿÿ(R/R¦R'RQRƒRi(RÈR…R†RkRÉR((Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRËÆs


c	swd}dˆjkr6ˆjr6ˆjdkr6d}n|d|d||fd}||}t||ƒd}|S(	NRRR”RÍsbin/s/%s%s_gstreamers1.0s > /dev/null 2>&1(R8R`RaR
(	RÏR8R5RÐRÑRñRÔRÕRÖ(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR×Ìs'	 
slibgstifdsrc.sosGST-IFDSRC for GSTREAMER 1.Xs4
For more info please ask the author samsamsam@o2.pls/It improves buffering mode with the gstplayer.
RØiiRs4 has not been detected. 
Do you want to install it? Rs1 is deprecated. 
Do you want to install new one? s
gst-ifdsrccsdˆj|fS(Nsgrep "%s" "%s" 2>&1 (RP(R(Rb(sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRÙßs(RRR8R5R,R.R<RÛRÜRQRÝRÞRßRàRáRâtgstifdsrcStepFinishedRä(RbRlRÆRËR×RRR((RbsL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR&Às(
(( cCstd|ƒ|jƒdS(Ns+IPTVSetupImpl.gstifdsrcStepFinished sts[%r](RRm(RbRkRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR*æscCsRtdƒ|jdƒt|j|jjƒ|jjƒƒ|_|jjƒdS(NsIPTVSetupImpl.binaryDetectRØ(	RRuR	tbinaryDetectFinishedR.tgetDetectValidatort
getDetectCmdsR-Rw(RbRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRäñs

*cCs%tdƒt|ƒdkr¹t|dkr¹|jjƒt|ƒd}|jjƒ|jjƒ|ƒ|jjƒr£|jt	dƒ|dft
j|jƒq!|jj
ƒtƒnhd}t}dt|ƒkrd|jjƒkr|jjƒ|jjƒ||ƒ\}}n|jjƒ|jjƒ|ƒ|jjƒ}dt|ƒkr©|sw|jjddƒ}n|jjd	dƒ}}|j|||jƒnxdt|ƒkr|sÙ|jjd
dƒ}n|jjddƒ}}|j|t
j|jƒn|jj
ƒtƒdS(Ns"IPTVSetupImpl.binaryDetectFinishediiÿÿÿÿis[%s] will be used by %s.R¯Rtnot_detected_1tdeprecated_1RR(RR‘RiR.tgetPathstgetSaveConfigOptionHandlertgetConfigOptiontisDebugMessagesAllowedReR<Rt	TYPE_INFORmtgetFinishHandlerR/R,tgetDeprecatedHandlertgetInstallChoiseListRsRdtbinaryDownload_1R±tbinaryDownload_2(RbR…R†RRktinstallChoiseListRq((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR+÷s0
",'-cCs™|jdƒg}xQ|jD]F}|jjƒ|jjƒ|j|j||jƒ}|j|ƒqWt	|j
|jjƒ|ƒ|_|jj
ƒdS(Ntdownload(RuR2R.tgetDownloadCmdBuildertgetNameR8R5R1R{R	tbinaryDownloadFinishedtgetDownloadValidatorR-Rw(RbR}RÐRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pytbinaryDownloads
3!cCs\tdƒ|r |d|_n	d|_d|jkrE|jƒn|jjƒtƒdS(NsIPTVSetupImpl.binaryDownload_1iR(Rt_binaryInstallPathR@R.R5R/(RbRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR8s
	
cCsWtdƒ|r7|jjƒdd|_|jƒnd|_|jjƒtƒdS(NsIPTVSetupImpl.binaryDownload_2iiR(RR.R7RAR@R5R/(RbRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR9&s

	cCsetdƒt|ƒdkr9t|dkr9|jƒn(|j|jjddƒtj|j	ƒdS(Ns$IPTVSetupImpl.binaryDownloadFinishediiÿÿÿÿt
dwn_failedi(
RR‘Rit
binaryInstallReR.RsRR±tbinaryDownloadRetry(RbR…R†((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyR>/s
"
cCs4tdƒ|r|jƒn|jjƒtƒdS(Ns!IPTVSetupImpl.binaryDownloadRetry(RRäR.R5R/(RbRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRD6s

cCsvtdƒ|jdƒ|jjƒ|jjƒ|j|jƒ}t|j|jj	ƒ|gƒ|_
|j
jƒdS(NsIPTVSetupImpl.binaryInstalltinstall(RRuR.tgetInstallCmdBuilderR=RAR1R	tbinaryInstallFinishedtgetInstallValidatorR-Rw(RbRlRÖ((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRC>s


*$cCsetdƒt|ƒdkrBt|dkrBt|_|jƒn|jtdƒtj|j	ƒdS(Ns#IPTVSetupImpl.binaryInstallFinishediiÿÿÿÿs"Installation binary failed. Retry?(
RR‘RiR^RäReR<RR±tbinaryInstallRetry(RbR…R†((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRGEs

"	
cCs4tdƒ|r|jƒn|jjƒtƒdS(Ns IPTVSetupImpl.binaryInstallRetry(RRCR.R5R/(RbRl((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRIMs

N(Bt__name__t
__module__RgRhRjR,RmRdReRfRuRwRvR|R„R‰R’R™R˜RŸR¢R©R­R£R²R¤RÀRÁRÂRÃRãRåRìRíRóRýRôRRR	R
RRRRRRRRR"RR#R%R)R&R*RäR+R@R8R9R>RDRCRGRI(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyRs~	g										
						*			#				
/80	158859, '
#&						((,t-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRRRRRRt3Plugins.Extensions.IPTVPlayer.setup.iptvsetuphelperRR	R
t7Plugins.Extensions.IPTVPlayer.components.iptvplayerinitRR<tScreens.MessageBoxRtComponents.configR
RtTools.BoundFunctionRtTools.DirectoriesRRtosRR¦RRˆRt	os_removeRt
os_listdirRR¿RR»RRºR€R÷R(((sL/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/setup/iptvsetupimpl.pyt<module>s:4