选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
3 ©ft`¹ã@spddlmZddlmZmZddlmZddlmZddl m Z ddl Z ddl Z ddl Z Gdd„de jjƒZdS) é)Úunicode_literals)Ú format_numberÚ format_time)Ú _term_width)Úunicode)ÚtimeNc@sreZdZdZejjdejjdejjdejj diZ e j dddfd d „Z d d „Zddd„Zdd„Zdd„Zdd„ZdS)ÚMultiFileProgressMeterz"Multi-file download progress meterZFAILEDZSKIPPEDZMIRRORZDRPMg333333Ó?gð?g@cCsp||_||_||_||_d|_d|_tjjƒ|_d|_ d|_ d|_ g|_ i|_ d|_d|_d|_d|_d|_dS)z÷Creates a new progress meter instance update_period -- how often to update the progress bar tick_period -- how fast to cycle through concurrent downloads rate_average -- time constant for average speed calculation rN)ÚfoÚ update_periodÚ tick_periodÚ rate_averageÚunknown_progresÚ total_drpmÚsysÚstdoutÚisattyÚ done_drpmÚ done_filesÚ done_sizeÚactiveÚstateÚ last_timeÚ last_sizeÚrateÚ total_filesÚ total_size)Úselfr r r r ©rú/usr/lib/python3.6/progress.pyÚ__init__&s" zMultiFileProgressMeter.__init__cCstjjd||jƒdS)NZ write_flush)ÚdnfÚutilZ_terminal_messengerr )rÚmsgrrrÚmessage?szMultiFileProgressMeter.messagercCsF||_||_||_d|_d|_d|_g|_i|_d|_d|_ d|_ dS)Nr) rrrrrrrrrrr)rrrZ total_drpmsrrrÚstartBszMultiFileProgressMeter.startcCs tƒ}t|ƒ}t|jƒ}t|ƒ}||jkrD|df|j|<|jj|ƒ|j|\}}||f|j|<|j||7_||j|j krœ||j kr’||_ |j |ƒdS)Nr) rrÚintÚ download_sizerrÚappendrrr rÚ_update)rÚpayloadÚdoneÚnowÚtextZtotalr$ÚoldrrrÚprogressSs    zMultiFileProgressMeter.progresscCsJ|jrj||j}|j|j}|dkrj|dkrj||}|jdk rdt||jdƒ}|||jd|}||_||_|j|_|js‚dS|jt||j ƒt |jƒ}|j dkrîd|j d}t |jƒdkrÞ|d|j t |jƒ7}d||j |f}|joø|j �rt|j |j|jƒ}nd}d|j�r,t|jƒndt|jƒ|f} tƒt | ƒ} | d d } | d k�r0|j �rÆ|jd |j } t|j| d |j d ƒ\}} d |d| }d| | || f} | | d 8} nj|jd}d} |dk�râdn|}d|d | }d| || f} | | d 8} |jd| k�r*|jdnd|_|jd| | || fƒdS)Nréz%dz-%dz (%s/%d): %sz--:--z %5sB/s | %5sB %9s ETA z--- éééédú=ú-z%3d%% [%-*s]%séú z [%-*s]%sz%-*.*s%s)rrrrÚminr rrr%r ÚlenrrrrrrÚdivmodr r#)rr+Z delta_timeZ delta_sizerZweightr,ÚnZtime_etar"ÚleftZblZpctÚpZbarrrrr(gsX        zMultiFileProgressMeter._updatec Cs¶tƒ}}t|ƒ}t|jƒ}d}|tjjkr.n�|tjjkrJ|jd7_nt||j kr–|j j |ƒ\}}|j j |ƒ||8}|j d7_ |j|7_n(|tjjkr¾|j d7_ |j|7_|�r*|tjjkrö|jdkröd|j||j|j|f} nd|j||f} tƒt| ƒd} d| | |f} nl|jdk�rHd|j |j|f}t||dƒ} dtt|ƒ| ƒt|ƒt| ƒf} tƒt| ƒ} d | | || f} |j| ƒ|j �r²|j|ƒdS) Nrr/z[%s %d/%d] %s: z [%s] %s: z%s%-*s z (%d/%d): %sgü©ñÒMbP?z %5sB/s | %5sB %9s z%-*.*s%s)rrr%r&r ÚcallbackÚ STATUS_MIRRORÚ STATUS_DRPMrrÚpoprÚremoverrÚSTATUS_ALREADY_EXISTSrÚ STATUS_2_STRrr9rÚmaxrÚfloatrr#r() rr)ZstatusZerr_msgr$r+r,Úsizer*r"r<ZtmrrrÚendœsH          zMultiFileProgressMeter.endN)r)Ú__name__Ú __module__Ú __qualname__Ú__doc__r r>Z STATUS_FAILEDrCr?r@rDrÚstderrrr#r$r.r(rHrrrrrs  5r)Z __future__rZdnf.cli.formatrrZ dnf.cli.termrZ dnf.pycomprrrZ dnf.callbackr Zdnf.utilr>ZDownloadProgressrrrrrÚs