Yohohohohohooho | Sanrei Aya
Sanrei Aya


Server : LiteSpeed
System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : elvh3918 ( 1528)
PHP Version : 8.2.31
Disable Function : mail
Directory :  /usr/local/lib/python3.9/site-packages/click/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/lib/python3.9/site-packages/click/__pycache__/_termui_impl.cpython-39.pyc
a

��Sh�`�@sLdZddlZddlZddlZddlZddlZddlZddlmZ	ddl
mZddlm
Z
ddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZe�d�Zejdkr�dZ dZ!ndZ dZ!Gdd�dej"e�Z#d6ej$e%ej&e'dd�dd�Z(ej$e%e%ej&e'e'd�dd�Z)ej$e%e%ej&e'e'd�d d!�Z*ej+ej$e%ej&e'dd"�d#d$�Z,Gd%d&�d&�Z-d7e%e'e'e.d(�d)d*�Z/e%ej&e0d+�d,d-�Z1e�rddl2Z2ej3ej4e.d.�d/d0��Z5e'e%d1�d2d3�Z6n:ddl7Z7ddl8Z8ej3ej4e.d.�d4d0��Z5e'e%d1�d5d3�Z6dS)8z�
This module contains implementations for the termui module. To keep the
import time of Click down, some infrequently used functionality is
placed in this module and only imported as needed.
�N)�gettext)�StringIO)�which)�
TracebackType�)�_default_text_stdout)�CYGWIN)�get_best_encoding)�isatty)�open_stream)�
strip_ansi)�term_len)�WIN)�ClickException)�echo�V�nt�
�
z
[?25lz[?25h
c@s�eZdZd6ejejeejeeeeee	eje	e	ejej
ejegejefejeejejeje	eedd
�dd�Zd
d�dd�Z
ejejeejeejedd�dd�Zejed�dd�Zed�dd�Zdd�dd�Zeed�dd��Zeed�dd��Zeed�dd��Zed�d d!�Zed�d"d#�Zed�d$d%�Zed�d&d'�Zed�d(d)�Zdd�d*d+�Z edd,�d-d.�Z!d7eejedd/�d0d1�Z"dd�d2d3�Z#ejed�d4d5�Z$dS)8�ProgressBarN�#� �%(bar)s�  TFr�)�iterable�length�	fill_char�
empty_char�bar_template�info_sep�show_eta�show_percent�show_pos�item_show_func�label�file�color�update_min_steps�width�returncCs@||_||_||_||_||_||_|	|_|
|_|p6d|_|durVt	�}|durVt
�}||_|
|_||_
d|_||_|dk|_|dur�ddlm}||d�}|dkr�d}|dur�|dur�td��t�tjtt|��}t|�|_||_d|_g|_||t��|_|_d|_ d|_!d|_"d|_#d|_$t%|j�|_&d|_'dS)N�r)�length_hint���ziterable or length is requiredF)(rrrr r!r"r#r$r%rrr&r'r(�_completed_intervalsr)�	autowidth�operatorr,�	TypeError�t�cast�Iterabler�range�iterr�pos�avg�time�start�last_eta�	eta_known�finished�	max_width�entered�current_itemr
�	is_hidden�
_last_line)�selfrrrrrr r!r"r#r$r%r&r'r(r)r,�rD�</usr/local/lib/python3.9/site-packages/click/_termui_impl.py�__init__(sT



zProgressBar.__init__zProgressBar[V]�r*cCsd|_|��|S)NT)r?�render_progress�rCrDrDrE�	__enter__mszProgressBar.__enter__)�exc_type�	exc_value�tbr*cCs|��dS�N)�
render_finish)rCrKrLrMrDrDrE�__exit__rszProgressBar.__exit__cCs|jstd��|��|��S)N�.You need to use progress bars in a with block.)r?�RuntimeErrorrH�	generatorrIrDrDrE�__iter__zszProgressBar.__iter__cCstt|��SrN)�nextr6rIrDrDrE�__next__�szProgressBar.__next__cCs$|jr
dS|j�t�|j��dSrN)rAr&�write�	AFTER_BAR�flushrIrDrDrErO�szProgressBar.render_finishcCs(|jr
dSt|jt|jpd�p dd�S)N��?r)r=�minr7�floatrrIrDrDrE�pct�szProgressBar.pctcCs"|js
dSt|j�tt|j��S�Ng)r8�sumr\�lenrIrDrDrE�time_per_iteration�szProgressBar.time_per_iterationcCs&|jdur"|js"|j|j|jSdSr^)rr=rar7rIrDrDrE�eta�szProgressBar.etacCs�|jr�t|j�}|d}|d}|d}|d}|d}|d}|dkrh|�d|d�d|d�d|d��S|d�d|d�d|d��SdS)N�<�rzd �02�:r+)r<�intrb)rCr2�seconds�minutes�hoursrDrDrE�
format_eta�s
 zProgressBar.format_etacCs(t|j�}|jdur$|d|j��7}|S)N�/)�strr7r)rCr7rDrDrE�
format_pos�s

zProgressBar.format_poscCst|jd�d�d�dd�S)N�dz 4�%r)rgr]rIrDrDrE�
format_pct�szProgressBar.format_pctcCs�|jdur:t|j|j�}|j|}||j|j|7}nf|jrN|j|j}nRt|j|jp\d�}|jdkr�|j|tt	�
|j|j�dd|j�<d�|�}|S)Nrrg@g�?r+)
rrgr]r)rrr=�listra�math�cosr7�join)rCZ
bar_length�bar�charsrDrDrE�
format_bar�s$


����
zProgressBar.format_barcCs�|j}g}|jdur$|dur$|j}|jr8|�|���|rJ|�|���|jrj|jrj|jsj|�|�	��|j
dur�|�
|j�}|dur�|�|�|j|j
|��|j�|�d���S)N)r%rv�info)r"rr#�appendrnrqr!r<r=rkr$r@rr%rxr ru�rstrip)rCr"Z	info_bitsZ	item_inforDrDrE�format_progress_line�s*


���z ProgressBar.format_progress_linec	CsBddl}|jr:|j|jkr6|j|_t|j|j|jd�dSg}|jr�|j}d|_t	|�
��}td|��j
|�}||kr�|�t�|�d|j�||_||_|j}|jdur�|j}|�t�|�
�}t	|�}|jdus�|j|kr�||_|�|�|�d||�d�|�}||jk�r>||_t||j|jdd�|j��dS)Nr)r&r'rr+F)r&r'�nl)�shutilrArBr%rr&r'r/r)r
r|�max�get_terminal_size�columnsrz�
BEFORE_BARr>rurY)	rCr~�bufZ	old_widthZclutter_lengthZ	new_widthZclear_width�line�line_lenrDrDrErH�s@




zProgressBar.render_progress)�n_stepsr*cCs�|j|7_|jdur*|j|jkr*d|_t��|jdkr@dSt��|_|jrft��|j|j}nt��|j}|jdd�|g|_|jdu|_dS)NTrZi����)r7rr=r9r;r:r8r<)rCr��steprDrDrE�	make_steps
zProgressBar.make_step)r�r@r*cCsF|dur||_|j|7_|j|jkrB|�|j�|��d|_dS)aUpdate the progress bar by advancing a specified number of
        steps, and optionally set the ``current_item`` for this new
        position.

        :param n_steps: Number of steps to advance.
        :param current_item: Optional item to set as ``current_item``
            for the updated position.

        .. versionchanged:: 8.0
            Added the ``current_item`` optional parameter.

        .. versionchanged:: 8.0
            Only render when the number of steps meets the
            ``update_min_steps`` threshold.
        Nr)r@r.r(r�rH)rCr�r@rDrDrE�update)szProgressBar.updatecCsd|_d|_d|_dS)NFT)r<r@r=rIrDrDrE�finishCszProgressBar.finishccsj|jstd��|jr"|jEdHnD|jD],}||_|jdkrD|��|V|�d�q(|��|��dS)z�Return a generator which yields the items added to the bar
        during construction, and updates the progress bar *after* the
        yielded block returns.
        rQNrr)	r?rRrAr6r@r.rHr�r�)rC�rvrDrDrErSHs

zProgressBar.generator)NrrrrTNFNNNNrr)N)%�__name__�
__module__�__qualname__r2�Optionalr4rrgrm�bool�Callable�TextIOrFrJ�Type�
BaseExceptionrrP�IteratorrTrVrO�propertyr\r]rarbrkrnrqrxr|rHr�r�r�rSrDrDrDrEr'sr� 
�E�-r)rSr'r*c	Cs"t�}|durt�}ttj�r&t|�s2t|||�Stj�dd�pBd�	�}|rrt
rbt|||�rrdSnt|||�rrdStj�d�dvr�t|||�St
s�tj
�d�r�t|d|�r�dSt|d|�r�dSd	dl}|��\}}t�|�z4t|d|�r�Wt�|�dSt|||�Wt�|�St�|�0dS)
z2Decide what method to use for paging through text.NZPAGERr+�TERM)ZdumbZemacsZos2�more�lessr)rrr
�sys�stdin�
_nullpager�os�environ�get�stripr�_tempfilepager�
_pipepager�platform�
startswith�tempfile�mkstemp�close�unlink)rSr'�stdoutZ	pager_cmdr��fd�filenamerDrDrE�pagerjs@�

�
�r�)rS�cmdr'r*c
	Cs6t|�}|durdSddl}ttj�}|�dd�d��}|dur�|ddkr�tj�dd	��d
�|dd����}|s�d|d<d}nd
|vs�d|vr�d}|j	|gd|j
|ddd�}|jdus�J�z&|D]}	|s�t|	�}	|j�
|	�q�Wnttfy�Yn0|j��z|��Wnt�y(Yn0�q2�qdS)z�Page through text by feeding it to another program.  Invoking a
    pager through this might support colors.

    Returns True if the command was found, False otherwise and thus another
    pager should be attempted.
    NFrrlrr-r��LESSr+r�-RT�r�R�replace)�shellr��env�errors�text)r�
subprocess�dictr�r��rsplit�splitr�ru�Popen�PIPEr�rrW�OSError�KeyboardInterruptr��wait)
rSr�r'�cmd_absoluter�r�Z
cmd_detailZ
less_flags�cr�rDrDrEr��sH
$�
r�c	Cs�t|�}|durdSddl}ddl}|��\}}d�|�}|sFt|�}ttj�}	t	|d�d� }
|
�
|�|	��Wd�n1s�0Yz>z|�||g�Wnt
y�Yn0Wt�|�t�|�nt�|�t�|�0dS)z�Page through text by invoking a program on a temporary file.

    Returns True if the command was found, False otherwise and thus another
    pager should be attempted.
    NFrr+�wbT)rr�r�r�rurr	r�r�rrW�encode�callr�r�r�r�)rSr�r'r�r�r�r�r�r��encoding�frDrDrEr��s*

.
�
r�)�streamrSr'r*cCs$|D]}|st|�}|�|�qdS)z>Simply print unformatted text.  This is the ultimate fallback.N)rrW)r�rSr'r�rDrDrEr��sr�c@sxeZdZdejeejejeefeedd�dd�Zed�dd	�Z	edd
�dd�Z
ejejejejd
�dd�ZdS)�EditorNT�.txt)�editorr��require_save�	extensionr*cCs||_||_||_||_dSrN)r�r�r�r�)rCr�r�r�r�rDrDrErFszEditor.__init__rGcCs\|jdur|jSdD]}tj�|�}|r|Sqtr:dSdD]}t|�dur>|Sq>dS)N)ZVISUALZEDITORZnotepad)zsensible-editorZvimZnano�vi)r�r�r�r�rr)rC�keyr�r�rDrDrE�
get_editors


zEditor.get_editor)r�r*c
Cs�ddl}|��}d}|jr0tj��}|�|j�zD|j|�d|�d�|dd�}|��}|dkrrt	t
d�j|d���Wn<ty�}z$t	t
d�j||d	��|�WYd}~n
d}~00dS)
Nrz "�"T)r�r�z{editor}: Editing failed)r�z{editor}: Editing failed: {e})r��e)
r�r�r�r�r��copyr�r�r�r�_�formatr�)rCr�r�r�r�r�Z	exit_coder�rDrDrE�	edit_files&
���zEditor.edit_file)r�r*c		Cs�ddl}|sd}nLt|ttf�r&|}n8|r<|�d�s<|d7}trT|�dd��d�}n
|�d�}|jd|j	d�\}}�zt
�|d	��}|�|�Wd�n1s�0Yt
�
|t
j�|�t
j�|�d
f�t
j�|�}|�|�|j�rt
j�|�|k�rWt
�|�dSt|d��}|��}Wd�n1�s:0Yt|ttf��rd|Wt
�|�S|�d��dd�Wt
�|�St
�|�0dS)Nr�rz
z	utf-8-sigzutf-8zeditor-)�prefix�suffixr���rb)r��
isinstance�bytes�	bytearray�endswithrr�r�r�r�r��fdopenrW�utime�path�getatime�getmtimer�r�r��open�read�decode)	rCr�r��datar��namer��	timestampr�rDrDrE�edit3s>
($


�(
�
�zEditor.edit)NNTr�)
r�r�r�r2r�rm�Mappingr�rFr�r��AnyStrr�rDrDrDrEr�s��r�F)�urlr��locater*c	Cs�ddl}ttd�dd�}tjdkr�dg}|r6|�d�|rD|�d�|�||��td	d
�}z|j||d���W|��S|��0n�t	�r�|r�||�}dd
|��g}n(dg}|r�|�d�|�d�|�|�z|�
|�WSt�y�YdS0njt�r`|�r||�}dt
j�|�g}n dg}|�r2|�d�|�|�z|�
|�WSt�y^YdS0zJ|�r�t
j�||���p|d}n||�}|�d|g�}|�r�|��WSWdSt�y�|�d��r�|�s�|�s�ddl}|�|�YdSYdS0dS)Nr)r�r*cSs*ddlm}|�d�r&||dd��}|S)Nr)�unquotezfile://�)�urllib.parser�r�)r�r�rDrDrE�
_unquote_filefs
zopen_url.<locals>._unquote_file�darwinr�z-Wr�z	/dev/null�w)�stderrZexplorerz/select,r:z/WAITr+�Zcygstartz-w�.zxdg-open)zhttp://zhttps://r)r�rmr�r�rzr�r�r�r�rr�r�rr�r��dirnamer��
webbrowser)	r�r�r�r�r��args�nullr�r�rDrDrE�open_urlcsl



�







r�)�chr*cCs6|dkrt��|dkr ts t��|dkr2tr2t��dS)N���)r�r�EOFError)r�rDrDrE�_translate_ch_to_exc�srrGccs
dVdS)Nr-rDrDrDrDrE�raw_terminal�sr)rr*cCs6|rtj}ntj}|�}|dvr*||�7}t|�|S)N)��à)�msvcrtZgetwche�getwchr)r�funcr�rDrDrE�getchar�s 
r	ccs�ttj�std�}|��}ntj��}d}zzt�|�}z>t�|�|VWt�	|tj
|�tj��|dur�|�
�n,t�	|tj
|�tj��|dur�|�
�0Wntjy�Yn0dS)Nz/dev/tty)r
r�r�r��fileno�termios�	tcgetattr�ttyZsetraw�	tcsetattr�	TCSADRAINr�rYr��error)r�r�Zold_settingsrDrDrEr�s(






�
cCsjt��P}t�|d��ttj�d�}|r<ttj�r<tj�	|�t
|�|Wd�S1s\0YdS)N� r�)rr�r�r�r	r�r�r
r�rWr)rr�r�rDrDrEr	s)N)FF)9�__doc__�
contextlibrsr�r�r9�typingr2rr��iorr~r�typesrZ_compatrrr	r
rrr
r�
exceptionsr�utilsr�TypeVarrr�r�rX�Genericrr4rmr�r�r�r�r�r�r�r�rgr�r�rr�contextmanagerr�rr	rr
rDrDrDrE�<module>sh

E ' B�'�
aG
0

Yohohohohohooho | Sanrei Aya