ž oyMa–Mc@s‡ddlZddlZddlZddlZddlZddlZddljZddl j Z ddl Z ddl TddlmZddlmZddlmZy#ddlZejejdƒWneejfk rìYnXejƒZdZejdkrGy!ejƒd ZejeƒWnek rCYnXn¿yDejej ƒZee!kpqedkr}dZnejeƒWnxe"e#efk ryBejƒd Zee!kpÌedkrØdZnejeƒWne$efk rYnXYnXej%ƒZeZ&e j'd e j(ƒZ)e j'd e j(ƒZ*d d „Z+Gdd„dƒZ,dd„Z-e.dkrƒe-ƒndS(iN(u*(u askstring(uidleConf(uBOM_UTF8uuasciiuwin32iu%^[ \t\f]*#.*coding[:=][ \t]*([-\w.]+)u^[ \t\f]*(?:[#\r\n]|$)c Cst|tƒr!|jdƒ}n|}d|krR|jddƒdd…}n4d|kr}|jddƒdd…}n |g}xD|D]8}tj|ƒ}|dk r²Pntj|ƒsdSqWdS|jdƒ}yt j |ƒWn"t k rt d|ƒ‚YnX|S(uVReturn the encoding declaration according to PEP 263. When checking encoded data, only the first two lines should be passed in to avoid a UnicodeDecodeError if the rest of the data is not unicode. The first two lines would contain the encoding specification. Raise a LookupError if the encoding is declared but unknown. u iso-8859-1u iNu iuUnknown encoding: ( u isinstanceubytesudecodeusplitu coding_reumatchuNoneublank_reugroupucodecsulookupu LookupError(udataulinesulstulineumatchuname((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu coding_specEs*       u coding_speccBs‹|EeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd9Z d d „Z d9Z d9Z d d„Z d9d9dd„ZdZejeƒZejZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd9Z d9Z!d:d;d<gZ"e#j$d-krNd.nd/Z%d0d1„Z&d2d3d4„Z'd5d6„Z(d7d8„Z)d9S(=u IOBindingcCs©||_|j|_|jjd|jƒ|_|jjd|jƒ|_|jjd|jƒ|_|jjd|j ƒ|_ d|_ |jjd|j ƒ|_dS(Nu<>u<>u<>u<>u<>(ueditwinutextubinduopenu_IOBinding__id_openusaveu_IOBinding__id_saveusave_asu_IOBinding__id_saveasu save_a_copyu_IOBinding__id_savecopyuNoneu fileencodingu print_windowu_IOBinding__id_print(uselfueditwin((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu__init__ps     uIOBinding.__init__cCs|jjd|jƒ|jjd|jƒ|jjd|jƒ|jjd|jƒ|jjd|jƒd|_d|_d|_ dS(Nu<>u<>u<>u<>u<>( utextuunbindu_IOBinding__id_openu_IOBinding__id_saveu_IOBinding__id_saveasu_IOBinding__id_savecopyu_IOBinding__id_printuNoneueditwinufilename_change_hook(uself((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyuclose|s  uIOBinding.closecCs |jjƒS(N(ueditwinu get_saved(uself((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu get_savedˆsuIOBinding.get_savedcCs|jj|ƒdS(N(ueditwinu set_saved(uselfuflag((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu set_saved‹suIOBinding.set_savedcCs|jjƒdS(N(ueditwinu reset_undo(uself((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu reset_undoŽsuIOBinding.reset_undocCs ||_dS(N(ufilename_change_hook(uselfuhook((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyuset_filename_change_hook“su"IOBinding.set_filename_change_hookcCsf|r-tjj|ƒr-d|_||_n5||_d|_|jdƒ|jrb|jƒndS(Ni(uosupathuisdiruNoneufilenameudirnameu set_savedufilename_change_hook(uselfufilename((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu set_filename™s      uIOBinding.set_filenamecCs%|jj}|r«|s'|jƒ}n|}|rŽ|jr~t|jddƒ r~|j r~|jƒr~|j||jƒq§|j|ƒn|j r§|j j ƒndS|jƒrã|j ƒ}|dkrã|j j ƒdSn|sø|jƒ}n|}|r|j|ƒn |j j ƒdS(Nuinterpubreakucancel( ueditwinuflistu askopenfileugetattruNoneufilenameu get_saveduopenuloadfileutextu focus_setu maybesave(uselfueventueditFileuflistufilenameureply((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyuopen¤s6          uIOBinding.openu (\r\n)|\n|\rc Cs±yKt|dƒ6}|jƒ|jƒ}|jdƒ|jƒ}WdQXWnHtk r•}z(tjdt|ƒd|jƒd SWYdd}~XnX|j ||ƒ\}}|dkrÛtjdd|d|jƒd S|j j |ƒ}|r|jdƒ|_|j jd|ƒ}n|jjd d ƒ|jdƒ|jjd |ƒ|jƒ|j|ƒ|r}|jd ƒn|jjd d ƒ|jjd ƒ|j|ƒd S(Nurbiu I/O ErrorumasteruDecoding ErroruFile %s Failed to Decodeuparentu\nu1.0uenduinsertFT(uopenureadlineuseekureaduOSErroru tkMessageBoxu showerrorustrutextuFalseu_decodeuNoneueol_reusearchugroupueol_conventionusubudeleteu set_filenameuinsertu reset_undou set_savedumark_setuyviewuupdaterecentfileslistuTrue( uselfufilenameufu two_linesubytesumsgucharsu convertedufirsteol((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyuloadfileÔs:         uIOBinding.loadfilec;Csd}|jtƒray|dd…jdƒ}Wntk rJdSYqaXd|_|dfSnyt|ƒ}Wnctk rÁ}z.t j dddd|d |j ƒd}WYdd}~Xntk rÖdSYnX|ry&t ||ƒ}||_|dfSWqtk rYqXny&t |d ƒ}d|_|dfSWntk rUYnXy&t |dƒ}d|_|dfSWntk rYnXy`|j j jƒtd d d td|j j ƒ}|ræt ||ƒ}d|_n|dfSWnttfk r YnXdS(uCreate a Unicode string.iNuutf-8uBOMutitleuError loading the fileumessageu^The encoding '%s' is not known to this Python installation. The file may not display correctlyumasteruasciiuSpecify file encodinguwThe file's encoding is invalid for Python 3.x. IDLE will convert it to UTF-8. What is the current encoding of the file?u initialvalueuparentF(NF(NFT(NF(uNoneu startswithuBOM_UTF8udecodeuUnicodeDecodeErroruFalseu fileencodingu coding_specu LookupErroru tkMessageBoxu showerrorutextustrueditwinuupdateu askstringulocale_encodinguTrue(uselfu two_linesubytesucharsuencuname((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu_decodeøsh               uIOBinding._decodec Csª|jƒrdSd|jpd}tjddd|dtjd|jƒ}|r~d}|jdƒ|jƒs™d }q™n|dkr“d }nd }|jjƒ|S( Nuyesu&Do you want to save %s before closing?uthis untitled documentutitleu Save On Closeumessageudefaultumasterucanceluno( u get_savedufilenameu tkMessageBoxuaskyesnocanceluYESutextusaveuNoneu focus_set(uselfumessageuconfirmureply((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu maybesave<s&          uIOBinding.maybesavec Csr|js|j|ƒnH|j|jƒra|jdƒy|jjƒWqatk r]YqaXn|jj ƒdS(NubreakT( ufilenameusave_asu writefileu set_saveduTrueueditwinustore_file_breaksuAttributeErrorutextu focus_set(uselfuevent((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyusaveRs    uIOBinding.savec Cs…|jƒ}|rg|j|ƒrg|j|ƒ|jdƒy|jjƒWqdtk r`YqdXqgn|jjƒ|j |ƒdS(Niubreak( u asksavefileu writefileu set_filenameu set_savedueditwinustore_file_breaksuAttributeErrorutextu focus_setuupdaterecentfileslist(uselfueventufilename((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyusave_as_s       uIOBinding.save_ascCs@|jƒ}|r"|j|ƒn|jjƒ|j|ƒdS(Nubreak(u asksavefileu writefileutextu focus_setuupdaterecentfileslist(uselfueventufilename((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu save_a_copyms    uIOBinding.save_a_copycCsÑ|jƒ|jjddƒ}|jdkrF|jd|jƒ}n|j|ƒ}y-t|dƒ}|j|ƒWdQXdSWnHt k rÌ}z(t j dt |ƒd|jƒdSWYdd}~XnXdS( Nu1.0uend-1cu uwbu I/O ErrorumasterTF(u fixlastlineutextugetueol_conventionureplaceuencodeuopenuwriteuTrueuOSErroru tkMessageBoxu showerrorustruFalse(uselfufilenameutextucharsufumsg((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu writefileus  uIOBinding.writefilec#Cst|tƒr|S|jdkr3t|jdƒSy|jdƒSWntk rXYnXyt|ƒ}d}Wn1tk r¢}z|}d}WYdd}~XnX|s²d}n|rëy|j|ƒSWqëtk rçd|}YqëXnt j dd|d|j ƒt|jdƒS(NuBOMuutf-8uasciiuInvalid encoding '%s'u I/O Erroru%s. Saving as UTF-8umaster( u isinstanceubytesu fileencodinguBOM_UTF8uencodeu UnicodeErroru coding_specuNoneu LookupErroru tkMessageBoxu showerrorutext(uselfucharsuencufailedumsg((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyuencode„s4       uIOBinding.encodecCs8|jjdƒ}|dkr4|jjddƒndS(Nuend-2cu uend-1c(utextugetuinsert(uselfuc((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu fixlastline«s uIOBinding.fixlastlinec Cstjdddddtjd|jƒ}|sA|jjƒdSd}|jƒ}|re|j}n| sx|dkrÆtj dd ƒ\}}|}t j |ƒ|j |ƒsÆt j |ƒdSnt j}d}|d krtjd d d ƒ} | d} n*|dkr'tjd d dƒ} nd}|rÆ| tj|ƒ} t j| dƒ} | jƒjƒ} | j ƒ} | rd| | } n| rédt| ƒ| } tjd| d|jƒqén#d|} tjd| d|jƒ|rÿt j |ƒndS(NutitleuPrintumessageuPrint to Default Printerudefaultumasterubreakuprefixu IDLE_tmp_uposixumainuGeneraluprint-command-posixu 2>&1untuprint-command-winuru#Printing failed (exit status 0x%x) uPrinting command: %s u Print statusu-Printing is not enabled for this platform: %sTF(u tkMessageBoxu askokcanceluOKutextu focus_setuNoneu get_savedufilenameutempfileumkstempuosucloseu writefileuunlinkunameuTrueuidleConfu GetOptionuFalseushlexuquoteupopenureadustripurepru showerrorushowinfo(uselfueventuconfirmu tempfilenameusavedufilenameutfduplatformu printPlatformucommandupipeuoutputustatusumessage((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu print_window°sX                uIOBinding.print_windowu Python filesu *.py *.pywuTEXTu Text filesu*.txtu All filesu*udarwinu.pyucCsa|jdƒ\}}|jsBtjd|jd|jƒ|_n|jjd|d|ƒ}|S(Nuopenumasteru filetypesu initialdiru initialfile(udefaultfilenameu opendialogu tkFileDialoguOpenutextu filetypesushow(uselfudirubaseufilename((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu askopenfileís  uIOBinding.askopenfileuopenc Csn|jrtjj|jƒS|jr2|jdfSytjƒ}Wntjk r_d}YnX|dfSdS(Nu(ufilenameuosupathusplitudirnameugetcwduerror(uselfumodeupwd((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyudefaultfilenameõs    uIOBinding.defaultfilenamecCsj|jdƒ\}}|jsKtjd|jd|jd|jƒ|_n|jjd|d|ƒ}|S(Nusaveumasteru filetypesudefaultextensionu initialdiru initialfile(udefaultfilenameu savedialogu tkFileDialoguSaveAsutextu filetypesudefaultextensionushow(uselfudirubaseufilename((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu asksavefiles    uIOBinding.asksavefilecCs#|jjr|jj|ƒndS(u-Update recent file list on all editor windowsN(ueditwinuflistuupdate_recent_files_list(uselfufilename((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyuupdaterecentfileslist s uIOBinding.updaterecentfileslistN(u Python filesu *.py *.pywuTEXT(u Text filesu*.txtuTEXT(u All filesu*(*u__name__u __module__u __qualname__u__init__ucloseu get_savedu set_savedu reset_undouNoneufilename_change_hookuset_filename_change_hookufilenameudirnameu set_filenameuopenueolureucompileueol_reuosulinesepueol_conventionuloadfileu_decodeu maybesaveusaveusave_asu save_a_copyu writefileuencodeu fixlastlineu print_windowu opendialogu savedialogu filetypesusysuplatformudefaultextensionu askopenfileudefaultfilenameu asksavefileuupdaterecentfileslist(u __locals__((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu IOBindingnsD     ,  $ D     '  2   u IOBindingcCsbtƒ}Gdd„dƒ}t|ƒ}|jƒ|jƒ||ƒ}t|ƒ}|jƒdS(NcBst|EeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dS(utest..MyEditWincSsn||_d|_|jjd|jƒ|jjd|jƒ|jjd|jƒ|jjd|jƒdS(Nu u uu(utextuNoneuflistubinduopenusaveusave_asu save_a_copy(uselfutext((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu__init__s   u test..MyEditWin.__init__cSsdS(Ni((uself((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu get_savedsu!test..MyEditWin.get_savedcSsdS(N((uselfuflag((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu set_savedsu!test..MyEditWin.set_savedcSsdS(N((uself((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu reset_undosu"test..MyEditWin.reset_undocSs|jjdƒdS(Nu<>(utextuevent_generate(uselfuevent((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyuopensutest..MyEditWin.opencSs|jjdƒdS(Nu<>(utextuevent_generate(uselfuevent((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyusavesutest..MyEditWin.savecSs|jjdƒdS(Nu<>(utextuevent_generate(uselfuevent((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyusave_as!sutest..MyEditWin.save_ascSs|jjdƒdS(Nu<>(utextuevent_generate(uselfuevent((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu save_a_copy#su#test..MyEditWin.save_a_copyN( u__name__u __module__u __qualname__u__init__u get_savedu set_savedu reset_undouopenusaveusave_asu save_a_copy(u __locals__((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyu MyEditWins       u MyEditWin(uTkuTextupacku focus_setu IOBindingumainloop(urootu MyEditWinutextueditwinuio((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyutests      utestu__main__(/uosutypesushlexusysucodecsutempfileutkinter.filedialogu filedialogu tkFileDialogutkinter.messageboxu messageboxu tkMessageBoxureutkinterutkinter.simpledialogu askstringuidlelib.configHandleruidleConfuBOM_UTF8ulocaleu setlocaleuLC_CTYPEu ImportErroruErrorugetfilesystemencodingufilesystemencodingulocale_encodinguplatformugetdefaultlocaleulookupu LookupErroru nl_langinfouCODESETuNoneu NameErroruAttributeErroru ValueErroruloweruencodingucompileuASCIIu coding_reublank_reu coding_specu IOBindingutestu__name__(((u6/opt/alt/python33/lib64/python3.3/idlelib/IOBinding.pyus`                )ÿ£