{fc@sddlZddlmZddlZddlZddlZddlZddlZddlTddlZddl Z ddl m Z ddl m Z y#ddl Z e je jdWnee jfk rnXejZdZejdkr3y!e jd ZejeWnek r/nXnyDe je jZeekp]edkridZnejeWnveeefk ryBe jd ZeekpedkrdZnejeWneefk rnXnXejZej d Z!ej d Z"d e fd YZ#dZ$dfdYZ%dZ&e'dkr~ddl(m)Z)e)e&ndS(iN(tBOM_UTF8(t*(t SimpleDialog(tidleConfttasciitwin32is&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s^[ \t\f]*(?:[#\r\n]|$)tEncodingMessagecBs)eZdZdZdZdZRS(s3Inform user that an encoding declaration is needed.c Cst|_t||_}|jd|j|jd|j|jd|j|j d|j d||_ t |dd}|j dtdtt|d d }|jd d ||j dtdtd tt |dd|}|j dtdtt|}|j dtd td |_|_t|ddddd|j}|j dtd tddt|ddd|j} | j dtd tdd|j|dS(NsstWM_DELETE_WINDOWs I/O Warningttexts:Non-ASCII found, yet no encoding declared. Add a line liketsidetanchortfonttcourieris# -*- coding: %s -*-tfillsto your file See Language Reference, 2.1.4 Encoding declarations. Choose OK to save this file as %s Edit your general options to silence this warningtOktdefaulttactivetcommandtexpandis Edit my file(tFalset should_edittTopleveltroottbindt return_eventtdo_oktprotocoltwm_delete_windowtwm_titlet wm_iconnamettoptLabeltpacktTOPtWtEntrytinserttXtFrameRtcanceltButtontLEFTtBOTHtdo_editt_set_transient( tselftmastertencRtl1tl2tl3tbuttonstb1tb2((s)/usr/lib64/python2.7/idlelib/IOBinding.pyt__init__Js6           cCs|jddS(Ni(tdone(R.((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRqscCs|jddS(Ni(R8(R.((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR,ts(t__name__t __module__t__doc__R7RR,(((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRHs ' cCs|jddd }xD|D]8}tj|}|dk rBPntj|sdSqWdS|jd}ddl}y|j|Wntk rtd|nX|S(szReturn the encoding declaration according to PEP 263. Raise LookupError if the encoding is declared but unknown. s iiiNsUnknown encoding ( tsplitt coding_retmatchtNonetblank_retgrouptcodecstlookupt LookupError(tstrtlsttlineR>tnameRB((s)/usr/lib64/python2.7/idlelib/IOBinding.pyt coding_specws    t IOBindingcBs=eZdZdZdZdZdZd"ZdZ d"Z d"Z dZ d"d"dZ dZejeZejZd Zd Zd Zd Zd ZdZdZdZdZdZd"Zd"Z d#d$d%gZ!e"j#dkrdndZ$dZ%ddZ&d Z'd!Z(RS(&cCs||_|j|_|jjd|j|_|jjd|j|_|jjd|j|_|jjd|j |_ d|_ |jjd|j |_dS(Ns<>s<>s<>s<>s<>(teditwinR Rtopent_IOBinding__id_opentsavet_IOBinding__id_savetsave_ast_IOBinding__id_saveast save_a_copyt_IOBinding__id_savecopyR?t fileencodingt print_windowt_IOBinding__id_print(R.RK((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR7s     cCs|jjd|j|jjd|j|jjd|j|jjd|j|jjd|jd|_d|_d|_ dS(Ns<>s<>s<>s<>s<>( R tunbindRMRORQRSRVR?RKtfilename_change_hook(R.((s)/usr/lib64/python2.7/idlelib/IOBinding.pytcloses  cCs |jjS(N(RKt get_saved(R.((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRZscCs|jj|dS(N(RKt set_saved(R.tflag((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR[scCs|jjdS(N(RKt reset_undo(R.((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR]scCs ||_dS(N(RX(R.thook((s)/usr/lib64/python2.7/idlelib/IOBinding.pytset_filename_change_hookscCsf|r-tjj|r-d|_||_n5||_d|_|jd|jrb|jndS(Ni(tostpathtisdirR?tfilenametdirnameR[RX(R.Rc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyt set_filenames      cCs%|jj}|r|s'|j}n|}|r|jr~t|jdd r~|j r~|jr~|j||jq|j|n|j r|j j ndS|jr|j }|dkr|j j dSn|s|j}n|}|r|j|n |j j dS(NtinterptbreakR(( RKtflistt askopenfiletgetattrR?RcRZRLtloadfileR t focus_sett maybesave(R.teventteditFileRhRctreply((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRLs6          s (\r\n)|\n|\rcCsWy(t|d}|j}WdQXWn3tk r]}tjdt|d|jtSX|j|}|j j |}|r|j d|_ t |j tr|j jd|_ n|j jd|}n|jjdd|jd|jjd||j|j||jjd d|jjd |j|tS( Ntrbs I/O ErrortparentiRs\ns1.0tendR%(RLtreadtIOErrort tkMessageBoxt showerrorRER Rtdecodeteol_retsearchRAteol_conventiont isinstancetunicodetencodetsubtdeleteReR?R%R]tmark_settyviewtupdaterecentfileslisttTrue(R.Rctftcharstmsgtfirsteol((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRks,    cCs!|jtrKy|djd}Wntk r:|SXt|_|Snyt|}Wn<tk r}tjdddd|d|j d }nX|ryt ||SWqtk rqXnyt |dSWntk rnXyt |t }t |_Wntk rnX|S( sMCreate a Unicode string If that fails, let Tcl try its best isutf-8ttitlesError loading the filetmessages^The encoding '%s' is not known to this Python installation. The file may not display correctlyRrRN( t startswithRRxt UnicodeErrorRTRIRDRvRwR R?R}tencoding(R.RR0RH((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRxs>         c Cs|jrdSd|jpd}tjddd|dtjd|j}|r~d}|jd|jsd }qn|dkrd }nd }|jj|S( Ntyess&Do you want to save %s before closing?sthis untitled documentRs Save On CloseRRRrR(tno( RZRcRvtaskyesnocanceltYESR RNR?Rl(R.RtconfirmRp((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRmAs&          cCsq|js|j|nG|j|jr`|jty|jjWq`tk r\q`Xn|jj dS(NRg( RcRPt writefileR[RRKtstore_file_breakstAttributeErrorR Rl(R.Rn((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRNWs    cCs|j}|rf|j|rf|j||jdy|jjWqctk r_qcXqfn|jj|j |dS(NiRg( t asksavefileRReR[RKRRR RlR(R.RnRc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRPds       cCs@|j}|r"|j|n|jj|j|dS(NRg(RRR RlR(R.RnRc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRRrs    cCs|j|j|jjdd}|jdkrO|jd|j}nyJt|d1}|j||jt j |j WdQXt SWn3t k r}tjdt|d|jtSXdS(Ns1.0send-1cs twbs I/O ErrorRr(t fixlastlineR~R tgetR{treplaceRLtwritetflushR`tfsynctfilenoRRuRvRwRER(R.RcRRR((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRzs    c Cst|tr|Sy|jdSWntk r7nXyt|}d}Wntk ro}|}d}nX|ry|j|SWqtk rd|}qXn|rtjdd|d|j n|j t ks|rt |jdS|j rVy|j|j SWqVtk rRtjdd|j d|j t |jdSXnt j dd d }|dkrt |jdSt}y.|jt}t}|d krt}nWn*tk rt |jd}d}nX|s|St|jj|}|j|jd krd |}|j jdd} | jdre|j jd|n|j jd||j|j jddS|S(NRsInvalid encoding '%s's I/O Errors%s. Saving as UTF-8Rrsutf-8s1Cannot save this as '%s' anymore. Saving as UTF-8tmaint EditorWindowRtlocaleis# -*- coding: %s -*- s1.0s2.0s#!send-1c(R|RER~RRIR?RDRvRwR RTRRt GetOptionRRRRRKRtgotnumRRR%( R.RR0tfailedRtconfig_encodingtask_usertdialogtenclinet firstline((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR~sv                    cCs8|jjd}|dkr4|jjddndS(Nsend-2cs send-1c(R RR%(R.tc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRs c Cstjdddddtjd|j}|sA|jjdSd}|j}|re|j}n| sx|dkrtj dd \}}|}t j ||j |st j |dSnt j}t}|d krtjd d d } | d} n*|dkr'tjd d d} nt}|r| tj|} t j| d} | jj} | j } | rd| | } n| rdt| | } tjd| d|jqn#d|} tjd| d|j|rt j |ndS(NRtPrintRsPrint to Default PrinterRRrRgtprefixt IDLE_tmp_tposixRtGeneralsprint-command-posixs 2>&1tntsprint-command-wintrs#Printing failed (exit status 0x%x) sPrinting command: %s s Print statuss-Printing is not enabled for this platform: %s(Rvt askokcanceltOKR RlR?RZRcttempfiletmkstempR`RYRtunlinkRHRRRRtpipestquotetpopenRttstriptreprRwtshowinfo(R.RnRt tempfilenametsavedRcttfdtplatformt printPlatformRtpipetoutputtstatusR((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRUsX                s Python filess *.py *.pywtTEXTs Text filess*.txts All filesRtdarwins.pyRcCs|jd\}}|jsBtjd|jd|j|_n|jjd|d|}t|tr~|j t }n|S(NRLRrt filetypest initialdirt initialfile( tdefaultfilenamet opendialogt tkFileDialogtOpenR RtshowR|R}R~tfilesystemencoding(R.tdirtbaseRc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRis RLcCsm|jrtjj|jS|jr2|jdfSytj}Wntjk r^d}nX|dfSdS(NR(RcR`RaR<Rdtgetcwdterror(R.tmodetpwd((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR s    cCs|jd\}}|jsKtjd|jd|jd|j|_n|jjd|d|}t|t r|j t }n|S(NRNRrRtdefaultextensionRR( Rt savedialogRtSaveAsR RRRR|R}R~R(R.RRRc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR,s    cCs|jj|dS(s-Update recent file list on all editor windowsN(RKtupdate_recent_files_list(R.Rc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR8sN(s Python filess *.py *.pywR(s Text filess*.txtR(s All filesR()R9R:R7RYRZR[R]R?RXR_RcRdReRLteoltretcompileRyR`tlinesepR{RkRxRmRNRPRRRR~RRURRRtsysRRRiRRR(((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRJsD     ,   -     J  2  c Csddlm}m}||}|jdttttjd|j \}}}}|j d||dfdd dY}||} | j | j || } t | dS( Ni(RtTextsTest IOBindings[x+]s+%d+%dit MyEditWincBsbeZdZdZdZdZdZdZdZdZ dZ d Z RS( cSs||_d|_|jjd|j|jjd|j|jjd|j|jjd|j|jjd|jdS(Ns s s ss ( R R?RhRRLtprinterRNtsaveastsavecopy(R.R ((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR7Es  cSsdS(Ni((R.((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRZMRcSsdS(N((R.R\((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR[NRcSsdS(N((R.((s)/usr/lib64/python2.7/idlelib/IOBinding.pyR]ORcSsdS(N((R.Rc((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRPRcSs|jjddS(Ns<>(R tevent_generate(R.Rn((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRLQscSs|jjddS(Ns<>(R R(R.Rn((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRSscSs|jjddS(Ns<>(R R(R.Rn((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRNUscSs|jjddS(Ns<>(R R(R.Rn((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRWscSs|jjddS(Ns<>(R R(R.Rn((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRYs( R9R:R7RZR[R]RRLRRNRR(((s)/usr/lib64/python2.7/idlelib/IOBinding.pyRDs         (( tTkinterRRRtlisttmaptintRR<tgeometryR!RlRJ( RrRRRtwidththeighttxtyRR RK((s)/usr/lib64/python2.7/idlelib/IOBinding.pyt _io_binding=s  3    t__main__(trun(*RBRR`RRRRRRRvRtidlelib.configHandlerRRt setlocaletLC_CTYPEt ImportErrortErrortgetfilesystemencodingRRRtgetdefaultlocaleRCRDt nl_langinfotCODESETR?t NameErrorRt ValueErrortlowerRR=R@RRIRJRR9tidlelib.idle_test.htestR(((s)/usr/lib64/python2.7/idlelib/IOBinding.pyts`               /  %