asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T a bYh=@sddlZddlZddlZddlZddlZddlZddlmZddlmZddl m Z ddl Z ddl m Z ddlmZddd eDZd Zejd krd Znd ZGdddZddZedkrddlmZeddddddlmZeedS)N) filedialog) messagebox) askstring)idleConf) py_extensions ccs|]}d|VqdS)*N).0extr r */usr/local/lib/python3.9/idlelib/iomenu.py r utf-8win32 surrogatepasssurrogateescapec@seZdZddZddZddZddZd d Zd Zd d Z d Z d Z ddZ d4ddZ ejZddZddZddZddZddZddZddZd d!Zd"d#Zd Zd Zd$ed%fd&d'fZejd(krd)nd*Z d+d,Z!d5d.d/Z"d0d1Z#d2d3Z$d S)6 IOBindingcCsr||_|j|_|jd|j|_|jd|j|_|jd|j|_|jd|j |_ d|_ |jd|j |_ dS)N<><><><>r<>)editwintextbindopen_IOBinding__id_opensave_IOBinding__id_savesave_as_IOBinding__id_saveas save_a_copy_IOBinding__id_savecopy fileencoding print_window_IOBinding__id_print)selfrr r r __init__szIOBinding.__init__cCsf|jd|j|jd|j|jd|j|jd|j|jd|jd|_d|_d|_dS)Nrrrrr) rZunbindrrr!r#r&rfilename_change_hookr'r r r close+szIOBinding.closecCs |jSN)r get_savedr*r r r r-7szIOBinding.get_savedcCs|j|dSr,)r set_savedr'flagr r r r.:szIOBinding.set_savedcCs|jdSr,)r reset_undor*r r r r1=szIOBinding.reset_undoNcCs ||_dSr,)r))r'hookr r r set_filename_change_hookBsz"IOBinding.set_filename_change_hookcCsF|rtj|rd|_||_n$||_d|_|d|jrB|dS)N)ospathisdirfilenamedirnamer.r)r'r8r r r set_filenameHs zIOBinding.set_filenamecCs|jj}|rt|s|}n|}|r`|jrTt|jddsT|jsT|rT|||jqp||n|jrp|j dS|r| }|dkr|j dS|s|}n|}|r||n |j dS)Ninterpbreakcancel) rflist askopenfilegetattrr8r-rloadfiler focus_set maybesave)r'eventZeditFiler?r8replyr r r rSs<        zIOBinding.openc CszzFt|(}|}|j}|j}d}Wdn1s<0YWnzttfy|jj t ddd|jjd}t||d(}|}|j}|j}d}Wdn1s0YYn0Wnht y}z$t j dt||jd WYd}~dSd}~0ty.t j d d ||jd YdS0t|tsb|dur\t jd d |jd d}tj}|jdd|d||_||_|jd|||||r|d|jdd|jd||dS)NFzSpecify file encodingzwThe file's encoding is invalid for Python 3.x. IDLE will convert it to UTF-8. What is the current encoding of the file?r)Z initialvalueparent)encodingT I/O ErrorrGzDecoding ErrorzFile %s Failed to DecodezMixed Newlinesz:Mixed newlines detected. The file will be changed on save.1.0endinsert)tokenizerreadrHnewlinesUnicodeDecodeError SyntaxErrorrrupdaterOSErrorr showerrorstr isinstance showwarningr5linesepdeleter;r$eol_conventionrMr1r.Zmark_setZyviewupdaterecentfileslist) r'r8fcharsr$r[Z convertedencerrr r r rBsd & ,       zIOBinding.loadfilecCsp|r dSd|jpd}tjd|tj|jd}|rPd}|d|sbd}n|dur^d}nd}|j|S)NZyesz&Do you want to save %s before closing?zthis untitled documentz Save On ClosetitlemessagedefaultrGr>no)r-r8rZaskyesnocancelZYESrrrC)r'rcconfirmrFr r r rDs*  zIOBinding.maybesavecCsX|js||n8||jrJ|dz|jWntyHYn0|jdS)NTr=) r8r writefiler.rstore_file_breaksAttributeErrorrrCr'rEr r r rs     zIOBinding.savecCsd|}|rL||rL|||dz|jWntyJYn0|j| |dS)Nr4r=) asksavefilergr;r.rrhrirrCr\r'rEr8r r r r s      zIOBinding.save_ascCs.|}|r|||j||dS)Nr=)rkrgrrCr\rlr r r r"s    zIOBinding.save_a_copyc Cs|}||}zPt|d0}|||t|Wdn1sT0YWdSty}z$t j dt ||j dWYd}~dSd}~00dS)NwbTrIrJF) fixnewlinesencoderwriteflushr5fsyncfilenorTrrUrVr)r'r8rr^r]msgr r r rgs   , zIOBinding.writefilecCsT|jddkr*t|jds*|jdd|jdd}|jdkrP|d|j}|S)Nzend-2c r<zend-1crK)rgethasattrrrMr[replacer'rr r r rns  zIOBinding.fixnewlinesc Cst|tr|S|jdkr"|dSz |dWSty@Yn0z.|dd}tt|j \}}||WSt y}zt |}WYd}~n"d}~0tyd|}Yn0t j dd||jd|dS)Nz utf-8-sigasciirxzInvalid encoding '%s'rIz%s. Saving as UTF-8rJ)rWbytesr$roUnicodeEncodeErrorrNdetect_encodingioBytesIOreadlinerRrVrrUr)r'r^encodedr__r`Zfailedr r r ro s,        zIOBinding.encodecCsdtjddtj|jd}|s(|jdSd}|}|r>|j}|rJ|durtjdd\}}|}t || |st |dSt j }d}|dkrtd d d } | d } n|d krtd d d} nd}|r6| t|} t | d} | } | } | r d| | } | rPdt| | } tjd| |jdnd|} tjd| |jd|r`t |dS)NZPrintzPrint to Default Printerrar=Z IDLE_tmp_)prefixTposixmainZGeneralzprint-command-posixz 2>&1ntzprint-command-winFrz#Printing failed (exit status 0x%x) zPrinting command: %s z Print statusrJz-Printing is not enabled for this platform: %s)rZ askokcancelZOKrrCr-r8tempfilemkstempr5r+rgunlinknamerZ GetOptionshlexquotepopenrOstripreprrUZshowinfo)r'rErfZ tempfilenameZsavedr8ZtfdplatformZ printPlatformZcommandpipeoutputstatusrcr r r r%,sb         zIOBinding.print_windowz Python filesTEXT)z Text filesz*.txtr)z All filesrdarwinz.pycCs<|d\}}|js(tj|j|jd|_|jj||d}|S)Nr)rG filetypesZ initialdirZ initialfile)defaultfilename opendialogrZOpenrrshowr'dirbaser8r r r r@iszIOBinding.askopenfilercCsT|jrtj|jS|jr$|jdfSz t}WntyFd}Yn0|dfSdS)Nr)r8r5r6splitr9getcwdrT)r'modepwdr r r rqs    zIOBinding.defaultfilenamecCs@|d\}}|js,tj|j|j|jd|_|jj||d}|S)Nr)rGrdefaultextensionr)r savedialogrZSaveAsrrrrrr r r rk}szIOBinding.asksavefilecCs|jjr|j|dSr,)rr?Zupdate_recent_files_listr:r r r r\szIOBinding.updaterecentfileslist)NN)r)%__name__ __module__ __qualname__r(r+r-r.r1r)r3r8r9r;rr5rYr[rBrDrr r"rgrnror%rrrrsysrrr@rrkr\r r r r rs@   ,;  2  rc Csddlm}m}||}|dtt|ddd\}}|d||dfGdd d }||}|| ||}t |dS) Nr)ToplevelTextzTest IOBinding+r4z+%d+%dc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)z_io_binding..MyEditWincSs`||_d|_|jd|j|jd|j|jd|j|jd|j|jd|jdS)Nz z z zz )rr?rrprintrsaveassavecopyryr r r r(sz'_io_binding..MyEditWin.__init__cSsdS)Nrr r*r r r r-rz(_io_binding..MyEditWin.get_savedcSsdSr,r r/r r r r.rz(_io_binding..MyEditWin.set_savedcSsdSr,r r*r r r r1rz)_io_binding..MyEditWin.reset_undocSs|jddS)NrrZevent_generaterjr r r rsz#_io_binding..MyEditWin.opencSs|jddS)Nrrrjr r r rsz$_io_binding..MyEditWin.printcSs|jddS)Nrrrjr r r rsz#_io_binding..MyEditWin.savecSs|jddS)Nrrrjr r r rsz%_io_binding..MyEditWin.saveascSs|jddS)Nrrrjr r r rsz'_io_binding..MyEditWin.savecopyN) rrrr(r-r.r1rrrrrr r r r MyEditWinsr) tkinterrrrbmapintZgeometryrpackrCr) rGrrrootxyrrrr r r _io_bindings  r__main__)rzidlelib.idle_test.test_iomenuF) verbosityexit)run)r~r5rrrrNrrrZtkinter.simpledialogrZidlelibZidlelib.configrZ idlelib.utilrjoinrHrerrorsrrrZunittestrZidlelib.idle_test.htestrr r r r s2      t$