HEX
Server: Apache/2.4.65 (Unix) OpenSSL/3.5.5
System: Linux cpanel.ns-taberra.com 5.14.0-681.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 11 20:19:22 UTC 2026 x86_64
User: asif201 (1002)
PHP: 8.3.0
Disabled: NONE
Upload Files
File: //lib64/totem/plugins/pythonconsole/__pycache__/console.cpython-39.pyc
a

җeab0�@stddlZddlZddlZddlZe�dd�e�dd�ddlmZmZmZm	Z	Gdd�dej
�ZGd	d
�d
�ZdS)�N�Gtkz3.0�Pangoz1.0)�GLibrr�Gdkc@s~eZdZidfdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zddd�Zddd�Z
dd�Zdd�ZdS)�
PythonConsoleNcCs�tj�|�||_|�tjjtjj�|�tj	j
�t��|_|j�
t�d��|j�d�|j�tjj�|�|j�|j��|j��}|�d�|_|�d�|_|j�dd�|�d�|_|j�dd�t�d	�|_||_d
|_ |�!d|�"�d�|�#|�"�d�|�!d
|�"�d�dg|_$d|_%d|_&|j$|jd<t'|t(j)�*�|j�|_)t'|t(j+�*�|j�|_+|j�,d|j-�|�,d|j.�dS)NZ	MonospaceT�normal�errorZ
foregroundZred�commandZbluez^\s+F�
input-line�>>> �input�rZ__history__zkey-press-eventzmark-set)/r�ScrolledWindow�__init__�
destroy_cbZ
set_policyZ
PolicyTypeZNEVERZ	AUTOMATICZset_shadow_typeZ
ShadowType�INZTextView�viewZmodify_fontrZfont_description_from_string�set_editableZ
set_wrap_modeZWrapModeZCHAR�addZshow�
get_bufferZ
create_tagrrZset_propertyr	�re�compile�_PythonConsole__spaces_pattern�	namespace�
block_commandZcreate_mark�get_end_iter�insert�history�history_pos�current_command�OutFile�sys�stdout�fileno�stderrZconnect�"_PythonConsole__key_press_event_cb�_PythonConsole__mark_set_cb)�selfrr�buf�r)�1/usr/lib64/totem/plugins/pythonconsole/console.pyr.s@
�


zPythonConsole.__init__cCs�t��}|j|@}|jtjkr6|tjjkr6|���nT|jtj	k�r|tjjk�r|�
�}|�d�}|�|�}|�
�}|�||d�}	|j|	d|_|�|	�|�
�}|�|d�|�
�}|�||�t�|j|	�}
|
du�r|�||	|
��|
����|�
�}|�|�t�|j�dS|jtj	k�r`|�
�}|�d�}|�d�}|�|�}|�
�}|�||d�}	|j|	d|_|�|	�|�|�}|�|j||�|�|d�|j��}
|
�d��s�|jdd�dk�r�|j �r�d|_ d	}n.|
�d
��r�d	}n|�!|j�d|_d|_ d
}|�
�}|�||�|�||�|�
�}|�||�|�|�t�|j�dS|jtj"k�s||jtj#k�r�|�$d�|�%�t�|j�dS|jtj&k�s�|jtj'k�r�|�$d�|�(�t�|j�dS|jtj)k�s|jtj*k�s|jtj+k�r:|�
�}|�|�d��}|�|�,��}|�-|�dkS|jtj.k�r�|�
�}|�|�d��}|tjj/k�r||�0d|�n
|�|�dSdS)NrT�
z
... r
�:���z

z... �\r
FrZkey_press_eventrr)1rZ accelerator_get_default_mod_mask�stateZkeyvalrZKEY_dZModifierTypeZCONTROL_MASK�destroyZ
KEY_Returnr�get_mark�get_iter_at_markr�get_textr�history_addrZ	move_markr�matchr�start�endZplace_cursorr�idle_add�
scroll_to_endZ	apply_tagr	�rstrip�endswithr�_PythonConsole__runZKEY_KP_DownZKEY_DownZemit_stop_by_name�history_downZ	KEY_KP_UpZKEY_Up�
history_upZKEY_KP_LeftZKEY_LeftZ
KEY_BackSpace�
get_insert�compareZKEY_HomeZ
SHIFT_MASK�move_mark_by_name)r'rZeventZ
modifier_maskZevent_stater(Zinp_mark�inp�cur�line�spacesZlin_mark�linZ	cur_stripZcom_markr)r)r*Z__key_press_event_cb]s�

�
�










��



�
�
z"PythonConsole.__key_press_event_cbcCs8|�|�d��}|�|���}|j�|�|�dk�dS)Nr���)r2r1r?rrr@)r'r(�_�namerB�posr)r)r*Z
__mark_set_cb�szPythonConsole.__mark_set_cbcCs0|j��}|�|�d��}|��}|�||d�S)NrT)rrr2r1rr3)r'r(rBrCr)r)r*�get_command_line�s
zPythonConsole.get_command_linecCsb|j��}|�d�}|�|�}|��}|�||�|�||�|�|�|�|���|j��dS)Nr)	rrr1r2r�deleterZselect_rangeZ
grab_focus)r'r	r(ZmarkrBrCr)r)r*�set_command_line�s


�zPythonConsole.set_command_linecCs8|��dkr4t|j�|_||j|jd<|j�d�dS)Nr
�)�strip�lenrr�append)r'rDr)r)r*r4�szPythonConsole.history_addcCs<|jdkr8|��|j|j<|jd|_|�|j|j�dS)NrrN)rrKrrM�r'r)r)r*r>�s
zPythonConsole.history_upcCsF|jt|j�dkrB|��|j|j<|jd|_|�|j|j�dS)NrN)rrPrrKrMrRr)r)r*r=�szPythonConsole.history_downcCs&|j����}|j�|dddd�dS)N�F��?)rrr�scroll_to_iter)r'�iteratorr)r)r*r9�szPythonConsole.scroll_to_endcCsF|j��}|dur$|�|��|�n|�|��||�t�|j�dS�N)rrrrZinsert_with_tagsrr8r9)r'�text�tagr(r)r)r*�write�s

zPythonConsole.writeFcCs�|j��}|�d�}|�|�|�|���t|ttf�rh|D](}|rZ|�	d|d|j
�|�|�q<n$|r�|�	d|d|j
�|�|�|��}|�d|�|�
|d�|��}|�d|�|j�|��dddd�dS)Nr
rr+rrSFrT)rrr1rLr2r�
isinstance�list�tuplerZr	r<rArrU)r'r	Zdisplay_commandr(rF�charrCr)r)r*�evals&

�
zPythonConsole.evalcCs�|jtjt_|_|jtjt_|_zHz$t||j|j�}|durHt|�Wntyht||j�Yn0Wn2ttd�r�tj	t
kr�|��nt�
�Yn0|jtjt_|_|jtjt_|_dS)N�	last_type)r"r!r$r_r�print�SyntaxError�exec�hasattrr`�
SystemExitr0�	traceback�	print_exc)r'r	�resr)r)r*Z__runs
zPythonConsole.__runcCsdSrWr)rRr)r)r*r00szPythonConsole.destroy)N)F)�__name__�
__module__�__qualname__rr%r&rKrMr4r>r=r9rZr_r<r0r)r)r)r*r-s�
/r
	
rc@steZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZeZdS)r z�A fake output file object. It sends output to a TK test widget,
    and if asked for a file number, returns one set on instance creationcCs||_||_||_dSrW)�file_no�consolerY)r'rmrlrYr)r)r*r7szOutFile.__init__cCsdSrWr)rRr)r)r*�close;sz
OutFile.closecCsdSrWr)rRr)r)r*�flush=sz
OutFile.flushcCs|jSrW)rlrRr)r)r*r#?szOutFile.filenocCsdS)Nrr)rRr)r)r*�isattyAszOutFile.isattycCsdS�Nr
r)�r'rHr)r)r*�readCszOutFile.readcCsdSrqr)rRr)r)r*�readlineEszOutFile.readlinecCsgSrWr)rRr)r)r*�	readlinesGszOutFile.readlinescCs|j�||j�dSrW�rmrZrY)r'�segr)r)r*rZIsz
OutFile.writecCs|j�||j�dSrWrv)r'�linesr)r)r*�
writelinesKszOutFile.writelinescCstd��dS�N)�zIllegal seek��IOErrorrrr)r)r*�seekMszOutFile.seekcCstd��dSrzr|rRr)r)r*�tellOszOutFile.tellN)rirjrk�__doc__rrnror#rprsrtrurZryr~r�truncater)r)r)r*r 4sr )
r!rrfZgiZrequire_versionZ
gi.repositoryrrrrrrr r)r)r)r*�<module>#s