B YI~dM"�@s�ddlZddlZddlZddlmZddlmZddlm Z ddlm Z ddl m Z ddlm Z dZGdd �d �Zed kr�dd lmZed d d�dS)�N)�idleConf)�macosx)�pyshell)� CustomRun)�outwina/Error: Inconsistent indentation detected! 1) Your indentation is outright incorrect (easy to fix), OR 2) Your indentation mixes tabs and spaces. To fix case 2, change all tabs to spaces by using Edit->Select All followed by Format->Untabify Region and specify the number of columns used by each tab. c@sbeZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd d�dd�Z dd�Z dd�Z dd�Z dS)� ScriptBindingcCs>||_|jj|_|jj|_g|_t��r:|jj�d|j�dS)Nz<>) �editwin�flist�root�cli_argsr� isCocoaTk� text_frameZbind�_run_module_event)�selfr�r�6/opt/alt/python37/lib64/python3.7/idlelib/runscript.py�__init__%s   zScriptBinding.__init__cCsNt|jtj�r|jj��dS|��}|s.dS|�|�ss    zScriptBinding.tabnannyc Cs\|j��|_}|��}|�|j�t|d��}|��}WdQRXd|krb|�dd�}|�dd�}|r~|dt d�kr~|d}|j }|j }|� ddd�z�y t ||d �Stttfk �rF}zzt|d d �p�|p�d } t|d d �p�d} t|dd �p�d} | dk�r| d7} d| d| df} |�|| �|�dd| �dSd}~XYnXWd|�|�XdS)N�rb� s � �����ZERRORz1.0�end�execr'�zr(��offsetrz0.0 + %d lines + %d chars� SyntaxErrorz%-20sF)r Z open_shell�shellZget_warning_streamZset_warning_stream�stderrr�read�replace�ordrrZ tag_remove�compiler3� OverflowError� ValueError�getattrZcolorize_syntax_errorr$) rrr4Z saved_streamr&�sourcerr�valuer'r(r2�posrrrrPs4       zScriptBinding.checksyntaxcs2t��r$�jj�d�fdd��dS��|�SdS)N��cs�jj�d�S)Nz<>)rr Zevent_generater)rrr�vsz0ScriptBinding.run_module_event..r)rr rr Zafterr)rrr)rr�run_module_eventns  zScriptBinding.run_module_eventcCs|j|dd�S)NT)� customize)r)rrrrr�run_custom_event|szScriptBinding.run_custom_eventF)rCc Cst|jtj�r|jj��dS|��}|s.dS|�|�}|s@dS|�|�sNdS|r�d|j� ��d�}t |j j||j d�j }|s�dS|r�|ngdf\|_ }|j j}tjr�|r�|jd|d�tj�|�} |g} |j r�| |j 7} |�d|�d | �d | �d ��|�|�|�|�dS) Nrz Customize z Run)r TF)Zwith_cwdrzif 1: __file__ = zi import sys as _sys from os.path import basename as _basename argv = z� if (not _sys.argv or _basename(_sys.argv[0]) != _basename(__file__) or len(argv) > 1): _sys.argv = argv import os as _os _os.chdir(z:) del _sys, argv, _basename, _os )rrrrrrrrrZ short_titlerr4r �result�interprZuse_subprocessZrestart_subprocess�os�path�dirnameZ runcommandZprepend_syspathZruncode) rrrCr�code�titleZrun_argsZrestartrFrI�argvrrrrs>             zScriptBinding._run_module_eventcCsx|jjj}|j��sttjddddd�}|r>|r>|jj�d�n6|��}|jj� �|rp|jj�d�|jjj}nd}|S)N�mainZGeneral�autosave�bool)�type) r�iorZ get_savedrZ GetOptionZsave�ask_save_dialogr� focus_set)rrrN�confirmrrrr�s     zScriptBinding.getfilenamecCs d}tjd|tj|jjd�}|S)Nz%Source Must Be Saved OK to Save?zSave Before Run or Check)rK�message�default�parent)� tkMessageBoxZ askokcancelZOKrr)rr'rTrrrrR�s  zScriptBinding.ask_save_dialogcCs$tj|||jjd�|jj��dS)N)rW)rXZ showerrorrrrS)rrKrUrrrr$�szScriptBinding.errorboxN) �__name__� __module__� __qualname__rrrrrBrDrrrRr$rrrrr#s  7r�__main__)rMz idlelib.idle_test.test_runscript�)� verbosity)rGrrZtkinter.messageboxZ messageboxrXZidlelib.configrZidlelibrrZ idlelib.queryrrr%rrYZunittestrMrrrr� s      =