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@sddlmZmZmZmZmZmZddlmZm	Z	ddl
mZddlm
Z
ddlmZddlmZddlmZddlZddlZy4yddlZWnek
rÞddlZnXWnek
rúeƒnXd	efd
„ƒYZdS(iÿÿÿÿ(tprintDBGtprintExctiptv_systemteConnectCallbackt	E2PrioFixtrm(tenumtstrwithmeta(tBaseDownloader(tDMHelper(t
boundFunction(teConsoleAppContainer(tsleepNtMergeDownloadercBsÑeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	id„Z
d	„Zd
„Zd„Z
d„Zed
„Zed„Zd„Zd„Zd„Zed„Zd„Zd„ZRS(cCsbtdƒtj|ƒd|_d|_igd6gd6gd6gd6gd6|_d|_dS(Ns;MergeDownloader.__init__ ----------------------------------turlstfilestremote_sizetremote_content_typet
local_sizei(RRt__init__tNonetconsoletiptv_systmultitcurrIdx(tself((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyR&s

		,cCstdƒdS(Ns:MergeDownloader.__del__ ----------------------------------(R(R((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyt__del__1scCs&x|jdD]}t|ƒqWdS(NR(RR(Rtitem((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyt_cleanUp4scCsdS(NR
((R((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytgetName8scCs0ttjƒddt|j|ƒƒ|_dS(Ns
 -version s 2>&1 (RR	tGET_FFMPEG_PATHR
t_checkWorkingCallBackR(RtcallBackFun((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytisWorkingCorrectly;scCsNd}t}|dkr=t}|}d|_|||ƒn
|j|ƒdS(Nti(tTruetFalseRRt_isWgetWorkingCorrectly(RR tcodetdatatreasontsts((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyR>s	cCs,ttjƒdt|j|ƒƒ|_dS(Ns	 -V 2>&1 (RR	t
GET_WGET_PATHR
t_checkWgetWorkingCallBackR(RR ((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyR%JscCsAd}t}|dkr't}|}nd|_|||ƒdS(NR"i(R#R$RR(RR R&R'R(R)((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyR+Ms		cCs||_d|_||_||_yÈ|jjdƒdjdƒ}d}xœ|D]”}|jdj|jj|ƒ|jdj|ƒ}|jdj|ƒ|jd	jd
ƒ|jdjd
ƒ|jdjdƒ|d7}qSWWnt	k
rt
ƒnX|jƒtj
S(
NR"smerge://it|iRs.iptv.tmp.{0}.dashRRiÿÿÿÿRR(tdownloaderParamst
fileExtensionturltfilePathtsplitRtappendtmetatformatt	ExceptionRtdoStartDownloadRtCODE_OK(RR/R0tparamsturlsKeystidxR((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytstartVs&				


cCsd|_d|_|jd|j}|jd|j}d}d}tj|jƒd||fd|d|d	}td
|ƒtƒ|_	t
|j	j|jƒ|_
t
|j	j|jƒ|_|j	jt|ƒƒtjj|_|jƒtjS(NR"tunknownRRis
 %s -t %d t"s" -O "s
" > /dev/nullsdoStartDownload cmd[%s](toutDatatcontentTypeRRR	tgetBaseWgetCmdR-RRRRt	appClosedt_cmdFinishedtconsole_appClosed_conntstderrAvailt
_dataAvailtconsole_stderrAvail_conntexecuteRtSTStDOWNLOADINGtstatustonStartRR7(RR0R/tinfotretriestcmd((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyR6os		4
cCs tjƒd}x(|jdD]}|dj|ƒ7}qW|dj|jƒ7}td|ƒtƒ|_t|jj	|j
ƒ|_|jjt
|ƒƒdS(Nt Rs
 -i "{0}" sC -map 0:0 -map 1:0 -vcodec copy -acodec copy "{0}" >/dev/null 2>&1 sdoStartPostProcess cmd[%s](R	RRR4R0RRRRRARBRCRGR(RRNR((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytdoStartPostProcess…scCsd|krdS|j|7_d|jkrd|_|jjddƒjdƒ}x«tt|ƒƒD]—}d||krhtjd||ƒ}|rÀt	|j
dƒƒ|jd|j<ntjd||ƒ}|rÿ|j
dƒ|jd	|j<qÿqhqhWd
|_ndS(Ns
Saving to:s
s
sLength:s ([0-9]+?) iRs(\[[^]]+?\])RR"(
RR>RFtreplaceR1trangetlentretsearchtinttgroupRR(RR'tlinesR:tmatch((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyREs	&'cCsŠtdƒd|jkr2|jjƒd|_n|jtjjtjjgkrƒ|j	rƒ|j	j
ƒ|jdtƒt
jSnt
jS(NsMergeDownloader._terminateiÿÿÿÿ(RRRtkillRJR	RHRItPOSTPROCESSINGRt	sendCtrlCRBR#RR7tCODE_NOT_DOWNLOADING(R((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyt
_terminatežs

!	

cCsztd||fƒd|jkrAd|_d|_d|_n|rdtjj|_|j	ƒdS|jtjj
krðtj|jƒ|_
td|j
|fƒ|j
dkrÞ|dkrÞ|j
|_tjj|_qYtjj|_ni|dkrY|jdt|jdƒkr9|jd7_|jƒdStjj
|_|jƒdSn|sl|jƒn|j	ƒdS(Ns4MergeDownloader._cmdFinished code[%r] terminated[%r]s5POSTPROCESSING_cmdFinished localFileSize[%r] code[%r]iiR(RRRRCRFR	RHtINTERRUPTEDRJRR[tgetFileSizeR0t
localFileSizetremoteFileSizet
DOWNLOADEDRRSRR6RPtonFinish(RR&t
terminated((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyRBªs6		
 


cCs­td|j|j|jdfƒ|jdkr:|jS|rntj|jd|jƒ|jd|j<nd}x.|jdD]}|dkr‚||7}q‚q‚W|SdS(Ns=>>>>>>>>>>>>>>>>>>>>> _localFileSize [%r] loacalSize[%r] = %rRiR(RRaRRR	R`(RtupdateRaR((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyt_localFileSizeÍs$.cCstd|jƒ|jdkr'|jSd}d}x8|jdD])}|dkrA||7}|d7}qAqAW|t|jdƒkr‹|SdS(Ns*>>>>>>>>>>>>>>>>>>>>> _remoteFileSize [%r]iRiiÿÿÿÿ(RRbRRS(RRbtnumR((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyt_remoteFileSizeÛs
cCs‘|j}tjjƒ}|ru|jƒ}||j}||j}|dkr|||_||_||_qn||_|jƒ|_dS(Ni(tlastUpadateTimetdatetimetnowRgtprevLocalFileSizetsecondst
downloadSpeed(RtprevUpdateTimetnewTimeRat	deltaSizet	deltaTime((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytupdateStatisticês	


		cCs
|jƒS(N(Ri(R((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytgetRemoteFileSizeúscCs
|j|ƒS(N(Rg(RRf((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytgetLocalFileSizeýscCs|jS(N(Ro(R((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytgetDownloadSpeedscCs|jƒ|jS(N(RvRa(R((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pytgetPlayableFileSizes
(t__name__t
__module__RRRRR!RR%R+R;R6RPRER^R$RBR#RgRiRtRuRvRwRx(((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyR
$s*											
		#				(t-Plugins.Extensions.IPTVPlayer.tools.iptvtoolsRRRRRRt-Plugins.Extensions.IPTVPlayer.tools.iptvtypesRRt3Plugins.Extensions.IPTVPlayer.iptvdm.basedownloaderRt+Plugins.Extensions.IPTVPlayer.iptvdm.iptvdhR	tTools.BoundFunctionR
tenigmaRttimeRRTRktjsonR5t
simplejsonR
(((sO/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/iptvdm/mergedownloader.pyt<module>s .