OwlCyberSecurity - MANAGER
Edit File: replace.cpython-36.opt-1.pyc
3 � fN������������������@���s����d�Z�ddlZddlmZmZ�ddlmZ�ddlmZ�dd��Z G�dd ��d e�Z d d��Zedkr�dd l mZ�edddd��ddlmZ�ee��dS�)z�Replace dialog for IDLE. Inherits SearchDialogBase for GUI. Uses idlelib.SearchEngine for search capability. Defines various replace related functions like replace, replace all, replace+find. �����N)� StringVar�TclError)�SearchDialogBase)�searchenginec�������������C���s<���|�j���}tj|�}t|d�s(t||�|_|j}|j|���dS�)zvReturns a singleton ReplaceDialog instance.The single dialog saves user entries and preferences across instances.�_replacedialogN)Z_rootr����get�hasattr� ReplaceDialogr����open)�text�root�engineZdialog��r����4/opt/alt/python36/lib64/python3.6/idlelib/replace.py�replace ���s���� r���c���������������@���s����e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zddd �Z d dd�Z d!dd�Zdd��Zd"dd�Z d#dd�Zdd��Zdd��Zd$dd�ZdS�)%r ���zReplace Dialog�Replacec�������������C���s���t�j|�||��t|�|�_d�S�)N)r����__init__r����replvar)�selfr���r ���r���r���r���r������s����zReplaceDialog.__init__c�������������C���s����t�j|�|��y|jd�}W�n�tk r2���d}Y�nX�y|jd�}W�n�tk rZ���d}Y�nX�|ph|jd�}|pp|}|�j||��d|�_dS�)zDisplay the replace dialogz sel.firstNzsel.last�insert����)r���r ����indexr����show_hit�ok)r���r����first�lastr���r���r���r ���!���s���� zReplaceDialog.openc�������������C���s"���t�j|���|�jd|�j�d�|�_dS�)z#Create label and text entry widgetsz Replace with:r���N)r����create_entriesZ make_entryr���Zreplent)r���r���r���r���r���1���s���� zReplaceDialog.create_entriesc�������������C���sH���t�j|���|�jd|�j��|�jd|�j��|�jd|�jd��|�jd|�j��d�S�)NZFindr���zReplace+Findr���zReplace All)r����create_command_buttonsZmake_button�find_it� replace_it�default_command�replace_all)r���r���r���r���r���6���s ���� z$ReplaceDialog.create_command_buttonsNc�������������C���s���|�j�d��d�S�)Nr���)�do_find)r����eventr���r���r���r���=���s����zReplaceDialog.find_itc�������������C���s���|�j�|�j�r|�j���d�S�)N)r"���r���� do_replace)r���r#���r���r���r���r���@���s����zReplaceDialog.replace_itc�������������C���s"���|�j�|�j�r|�j��r|�j�d��dS�)zReplace and find next.r���N)r"���r���r$���)r���r#���r���r���r���r ���D���s����zReplaceDialog.default_commandc�������������C���sL���|�j�j��rDy|j|�}W�qH�tjk r@���|�j�j|d��d}Y�qHX�n|}|S�)za Helper function for expanding a regular expression in the replace field, if needed. zInvalid Replace ExpressionN)r ���Zisre�expand�re�errorZreport_error)r����m�repl�newr���r���r����_replace_expandK���s���� zReplaceDialog._replace_expandc�������������C���s���|�j�j��}|sdS�|�jj��}|�j}|�j�j||�}|s@|�j���dS�|jddd��|jddd��|d�}|d�j��}|�j�j ��r�d}d}d}d�} } |j ���x�|�j�j||||d|�}|s�P�|\}}|jd|�d|d���}|j��} |�j ||�}|dkr�P�|j��\}}d ||f�} d ||f�} || k�r.|jd | ��n4|jd | ��| | k�rP|j| | ��|�rb|j| |��|t|��}d}q�W�|j���| �r�| �r�|�j| | ��|�j���dS�)z4Replace all instances of patvar with replvar in textN�selz1.0�end�hitr���r���z%d.0z%d.%dr���)r ����getprogr���r���r����search_text�bell� tag_remove�startZiswrap�undo_block_startZsearch_forward�groupr+����span�mark_set�deleter����len�undo_block_stopr����close)r���r#����progr)���r����res�line�colr���r���r���r(����charsZorigr*����i�jr���r���r���r!���Y���sZ���� zReplaceDialog.replace_allr���c������� ������C���sv���|�j�j��sdS�|�j}|�j�j|d�|�}|s4|�j���dS�|\}}|j��\}}d||f�}d||f�} |�j|| ��d|�_dS�)NFz%d.%dr���T)r ���r/���r���r0���r1���r6���r���r���) r���r���r���r=���r>���r(���rA���rB���r���r���r���r���r���r"�������s���� zReplaceDialog.do_findc���������� ���C���s��|�j�j��}|sdS�|�j}y|jd��}}|jd�}W�n�tk rL���d�}Y�nX�|sd|jd��}�}}tj|�\}}|jd|�d|d���}|j||�} |s�dS�|�j | |�j j���} | d�kr�dS�|jd|��|j���| j ��r�|j||��| r�|j|| ��|j���|�j||jd���d|�_dS�) NFz sel.firstzsel.lastr���z%d.0r���r���T)r ���r/���r���r���r���r���Zget_line_colr����matchr+���r���r7���r4���r5���r8���r���r:���r���r���)r���r<���r���r����posr���r>���r?���r@���r(���r*���r���r���r���r$�������s:���� zReplaceDialog.do_replacec�������������C���sv���|�j�}|jd|��|jddd��|jd||��|jddd��||krR|jd|��n|jd||��|jd��|j���dS�)zMHighlight text from 'first' to 'last'. 'first', 'last' - Text indicesr���r,���z1.0r-���r.���N)r���r7���r2����tag_addZseeZupdate_idletasks)r���r���r���r���r���r���r���r�������s���� zReplaceDialog.show_hitc�������������C���s ���t�j|�|��|�jjddd��d�S�)Nr.���z1.0r-���)r���r;���r���r2���)r���r#���r���r���r���r;�������s����zReplaceDialog.close)N)N)N)N)r���)N)�__name__� __module__�__qualname__�titleZiconr���r ���r���r���r���r���r ���r+���r!���r"���r$���r���r;���r���r���r���r���r ������s��� 2 r ���c����������������s����ddl�m}m}m��m��ddlm}�||��}|jd��tt |�j ��jd�dd����\}}|j d||d�f���d d ��}dd��}||d d��|�_|�_ �j����jdd���j�������fdd�} ||d| d�} | j���d�S�)Nr���)�Toplevel�Text�END�SEL)�ButtonzTest ReplaceDialog�+r���z+%d+%d����c���������������S���s���d�S�)Nr���r���r���r���r���r4�������s����z)_replace_dialog.<locals>.undo_block_startc���������������S���s���d�S�)Nr���r���r���r���r���r:�������s����z(_replace_dialog.<locals>.undo_block_stopZgray)Zinactiveselectbackgroundr���z"This is a sample sTring Plus MORE.c������������������s(����j��d����t����j�d����d�S�)Nz1.0)rE���r���r2���r���)rL���rM���r���r���r����show_replace����s����z%_replace_dialog.<locals>.show_replacer���)r���Zcommand)�tkinterrJ���rK���rL���rM���Ztkinter.ttkrN���rI����map�intZgeometry�splitr4���r:���Zpackr���Z focus_set)�parentrJ���rK���rN���Zbox�x�yr4���r:���rQ���Zbuttonr���)rL���rM���r���r����_replace_dialog����s"���� rY����__main__)�mainzidlelib.idle_test.test_replace����F)� verbosity�exit)�run)�__doc__r&���rR���r���r���Zidlelib.searchbaser���Zidlelibr���r���r ���rY���rF���Zunittestr[���Zidlelib.idle_test.htestr_���r���r���r���r����<module>���s����7