xkd)dZddlmZddlZddlZddlZddlZddlZddlm Z m Z m Z ddl Z ddl mZgdZdZGdd eZGd d ejeZGd d ejeZGddejeZdS)z'Progress reporting for text interfaces.)print_functionN)CallableOptionalUnion)base)AcquireProgress CdromProgress OpProgresscdtj|}||krtj|d}|S)z>Translate the message, also try apt if translation is missing.apt)apt_pkggettext)msgress 3/usr/lib/python3/dist-packages/apt/progress/text.py_r$s2 /#  C czzoc5)) Jc"eZdZdZddZddZdS) TextProgressz.Internal Base class for text progress classes.Nc:|p tj|_d|_dS)Nr)sysstdout_file_widthselfoutfiles r__init__zTextProgress.__init__0s*   rTFc|jd|j||jt|kr3|j|jt|z dzn)|r't |jt||_|r|jddS|jdS)z8Write the message on the terminal, fill remaining space.   N)rwriterlenmaxflush)rrnewlinemaximizes r_writezTextProgress._write5s   ;S ! ! J  dkCHH4; < < < <  5dk3s8844DK   J  T " " " " " J       rN)TF)__name__ __module__ __qualname____doc__rr)rrrr-sB88 rrc(eZdZdZddZddZdZdS)r z\Operation progress reporting. This closely resembles OpTextProgress in libapt-pkg. Nct||tj|d|_dS)N)rrrr old_oprs rrzOpProgress.__init__Ms9dG,,,   &&& rctj|||jr!|jr||j|d|j|jfzdd|j|_dS)z1Called periodically to update the user interface.z %s... %i%% FTN)rr update major_changer3r)oppercent)rr8s rr5zOpProgress.updateSsu tW---   % % KK $ $ $ Ndgt|%<D DD D%   trctj||||t d||fzt dvS)z7Prompt the user to change the inserted removable media.zUMedia change: please insert the disc labeled '%s' in the drive '%s' and press enter )cC)rr media_changer)rinput)rmediumdrives rrzAcquireProgress.media_changesf ))$>>> 6   uo     wwj((rctj||t dt j|jt j|j t j|j fz dddl }|j |j |jdS)z/Invoked when the Acquire process stops running.zFetched %sB in %s (%sB/s) r"rN)rrstopr)rr r\ fetched_bytesrs elapsed_timerqrstriprDrEr@)rrDs rrzAcquireProgress.stops !!$''' /00'(:;;'(9::'(899 fTll    fot|44444rr*) r+r,r-r.rrCrFrXrarfrkrrr/rrrres11    " " "888   GGGR ) ) )55555rrc$eZdZdZdZdZdZdS)r zText CD-ROM progress.ctj||t dd t t dS#t$rYdSwxYw)z,Ask the user to provide a name for the disc.zDPlease provide a name for this medium, such as 'Debian 2.1r1 Disk 1'F:N)rr ask_cdrom_namer)rstrrKeyboardInterruptr;s rrzCdromProgress.ask_cdrom_names ))$/// (        uSzz?? "    44 sA A.-A.c|tj||||r||ddSdS)zSet the current progress.FN)rr r5r))rtextcurrents rr5zCdromProgress.update-sK !!$g666  % KKe $ $ $ $ $ % %rctj||t dd t t dkS#t$rYdSwxYw)z"Ask the user to change the CD-ROM.z4Please insert an installation medium and press enterFr2)rr change_cdromr)rboolrrr;s rrzCdromProgress.change_cdrom4su ''--- ALMMuUUU 2 && &    55 sA## A10A1N)r+r,r-r.rr5rr/rrr r sG %%%rr )r. __future__riorKrDrtypestypingrrrr apt.progressr__all__robjectrr rr r/rrrsl".-%%%%%% ,,,,,,,,,, = < <64,