\dS^dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZddlmZddlmZddlmZddlmZdd lmZddlZddlZeejd d s.d D]Zeeeejd ez=dejd _dZ dZee_ee _n #e!$rYnwxYwd4dZ" d5dZ#da$dZ%e%dej&Z'e'fdZ(da)da*da+d6dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZdZ3dZ4d Z5d!Z6d"Z7Gd#d$ej8Z9Gd%d&ej:Z;Gd'd(e;Z<Gd)d*e;Z=Gd+d,ej>Z?Gd-d.Z@eAd/krdd0lBm,Z,e,d1d23e%ddS)7z idlelib.run Simplified, pyshell.ModifiedInterpreter spawns a subprocess with f'''{sys.executable} -c "__import__('idlelib.run').run.main()"''' '.run' is needed because __import__ returns idlelib, not idlelib.run. N) autocomplete)calltip) debugger_r) debugobj_r)iomenu)rpc) stackviewerz idlelib.runfirstrun) simpledialog messageboxfontdialog filedialog commondialogttkztkinter.Fz 127.0.0.1zCtrl-D (end-of-file)cd}|d|d|dz }|tj||}|}|r|d|zz }||jd|dz }|S)zFormat warnings the IDLE way.z! Warning (from warnings module): z File "z", line  Nz %s : ) linecachegetlinestrip__name__)messagecategoryfilenamelinenoliness ..\python\lib\idlelib\run.pyidle_formatwarningr 3s .A 2X 2 2 2 2 22A | 622 ::< # # # #T$CHQQQK!'3)2D(9';===JJ%$  FFFF(H +//dD/II;     #.5++fdFfd-f--"&&Sz2222 """      H    U # # #  !lnnOD% !!!"&&T{333   )$rOOOOG%sx>AA#E-CE- C,)E-+C,,E-0!DE-D&#E-%D&&AE--H1H4/G&&2HHctdD]r}tj| t|t}nt#t $r8}t d|jdzdztj |}Yd}~kd}~wwxYwt dtj t||da dS| dS)NzIDLE Subprocess: OSError: r5z, retrying....r7z8IDLE Subprocess: Connection to IDLE GUI failed, exiting.T) rangetimesleep MyRPCServer MyHandlerr&rDr<r#rEshow_socket_errorrLhandle_request)addressiservererr socket_errors rrHrHs 1XX 1   )44F E    .!<"#), 9 9 9 9LLLLLL  *03 @ @ @ @,000 s> B.A;;Bc ddl}ddlm}|j}t |||dd|dd|dd|jd |jd | |dS) z(Display socket error from manage_socket.rN) showerrorzSubprocess Connection Errorz#IDLE's subprocess can't connect to :r5z. Fatal OSError #rzz. See the 'Startup failure' section of the IDLE doc, online at https://docs.python.org/3/library/idle.html#startup-failure)parent) tkintertkinter.messageboxruTk fix_scalingwithdrawerrnostrerrordestroy)rrrorxruroots rrmrmsNNN,,,,,, 7:<.print_excsy C/   E$!6!6 Id5kk5%*= > > > 28= ? ? ? ? ?!*"kk%% Id7mmWg.C D D D 28= ? ? ? ?  2&r**C 6U C C C C2G c7 + + +  5 1 1 1 1!#sB// , ,D $BU + + + + + , ,r!) r checkcache flush_stdoutr#r$rW last_type last_valuelast_tracebackset)rrvalrdexcinforrrs @@@rrXrXsINNN JE \^^+LCb78?5CM3>3#5 55D,,,,,,,2Ic3r!c^|dd}|r.|D]%}|dd|rn&n|d=|.|r.|D]%}|dd|rn&n|d=|.t|dkr*|dd|dd<tdtjt jdj}tt|D]Q}||\}}}} |dkrd}| s/| d r| d d ||fi} |||| f||<RdS) zARemove excluded traces from beginning/end of tb; get cached linesNrr6z** IDLE Internal Exception: r7exec?z -toplevel-z >>>(3J 3r77^^!!a5BD 99B < k22 <((i/12h<$'K$;3;  C hod&;&;<<.setrecursionlimitVs  B@BB B =FEE = = =<),T<<<== = =qyyACC C!,,U5I-IJJJs +Az# This IDLE wrapper adds z7 to prevent possible uninterruptible loops.c<tz SN)rr)getrecursionlimitsrrz:install_recursionlimit_wrappers..getrecursionlimitks ,,..1EEEr!z( This IDLE wrapper subtracts z# to compensate for the z" IDLE adds when setting the limit.N) functoolswrapsr#rrrr)rrs@@rinstall_recursionlimit_wrappersrRs_S*++KKKK,+K  &$8&&&'''_S*++FFFF,+F P)=PP)PPPQQQ #/114HHIII-C-Cr!c@ttjddrttjddrgtjjt_tjjt_tjtjt z dSdSdS)zUninstall the recursion limit wrappers from the sys module. IDLE only uses this for tests. Users can import run and call this to remove the wrapping. rN)getattrr#rrrrrr!r!uninstall_recursionlimit_wrappersrzs C)=$ ? ?N C)=$ ? ?N!$ 5 A # 5 A c3558LLMMMMM NNNNr!ceZdZdZdS)rkc #t$rt$rdatjYd St j}ttj dddtj j d|d|d |tjd| ttj d d|datjYd SxYw) zrOverride RPCServer method for IDLE Interrupt the MainThread and exit server if link is dropped. Tz z(----------------------------------------zU Unhandled exception in user code execution server!' Thread: z" IDLE Client Address: z Request: r7i)rr'a *** Unrecoverable, server exiting! Users should never see this message; it is likely transient. If this recurs, report this with a copy of the message and an explanation of how to make it repeat. N)rVEOFErrorrLthreadinterrupt_mainr#rErDrrrFcurrent_threadr;rYrrU)selfr]client_addresserfs r handle_errorzMyRPCServer.handle_errorsM $      $ $ $H  ! # # # # # # $.C (/# ##-//4###1 ##  ###        c 4 4 4 4 (/#  ## #  $ $ $ $H  ! # # # # # #s)CB$CN)r __module__ __qualname__rrr!rrkrks#!$!$!$!$!$r!rkc^eZdZd dZedZedZedZdZdS) StdioFileutf-8strictc>||_||_||_||_dSr)shelltags _encoding_errors)rrrencodingerrorss r__init__zStdioFile.__init__s"  ! r!c|jSr)rrs rrzStdioFile.encodings ~r!c|jSr)rrs rrzStdioFile.errorss |r!cd|jzS)Nz<%s>)rrs rr;zStdioFile.names !!r!cdSNTrrs risattyzStdioFile.isattytr!N)rr) rrrrpropertyrrr;rrr!rrrs XX""X"r!rceZdZdZdZdS) StdOutputFilecdSrrrs rwritablezStdOutputFile.writablerr!c|jrtdt||j|j|j|j}|j||j S)Nzwrite to closed file) closedrstrencoderrdecoderr%r)rrs rr%zStdOutputFile.writesb ; 5344 4 JJq$- 5 5 < override SocketIO method - wait for MainThread to shut us down N)rirjrs rexithookzMyHandler.exithook s 2r!c0datjdS)zEOverride SocketIO method - terminate wait on callback and exit threadTNrUrrrs rEOFhookzMyHandler.EOFhook$r!c0datjdS)zinterrupt awakened threadTNr8rs rdecode_interrupthookzMyHandler.decode_interrupthook*r:r!N)rrrr3r6r9r<rr!rrlrlsS@@@4        r!rlc@eZdZdZdZdZdZdZdZdZ d d Z dS) r(c||_tjdurCtj|_t j|_tj |_dSi|_dS)NF) ridlelibtesting__main____dict__localsrCalltipr AutoComplete)rrs rrzExecutive.__init__3sQ$ ?e # #"+DK"?,,DL , 9 ; ;D   DKKKr!c< d|_da t||jdan#dawxYw t dS#t $rz}|jrb|jd}t|tdtfs7tdt|ztj Yd}~dSYd}~dSYd}~dSd}~wtj|_trt!tjtjurt'nB tj|jn-#tj|_t'YnxYw|jjd}|r!|jjYdSYdSxYw)NTFrz SystemExit: r7z<>) user_exc_info interruptablerrCrrVr<rrbrCrDr r#r$rWrUrM excepthookrrXrr!getvarr%open_remote_stack_viewer)rcodeeobjits rruncodezExecutive.runcode<s !%D  M &T4;''' %  %%%% . NNNNN- E E Ev EVAY!"tDzz3&788E.3r772DDDDDDDDDD E E E E E EEEEEEE B!$D  ~!333!!!!&ND$6777&),D&#%%%%%/)001NOOC B&??AAAAAA B B Bs@ <$<(< FA#B;;AFD)(F)(EAFc>trtjdSdSr)rHrrrs rinterrupt_the_serverzExecutive.interrupt_the_server]s)  $  ! # # # # # $ $r!c6tj|j|Sr)rstart_debuggerr)r gui_adap_oids rstart_the_debuggerzExecutive.start_the_debuggeras(,GGGr!c:|j|dS)zDUnregister the Idb Adapter. Link objects and Idb then subject to GCN)r unregister)r idb_adap_oids rstop_the_debuggerzExecutive.stop_the_debuggerds ""<00000r!c6|j|Sr)r fetch_tip)rr;s rget_the_calltipzExecutive.get_the_calltiphs|%%d+++r!c8|j||Sr)rfetch_completions)rwhatmodes rget_the_completion_listz!Executive.get_the_completion_listks 224>>>r!NcP|jr |j\}}}ndSd}||j|}|r1|jjddvr|j}|r|jjddv|t _|t _tj ||}tj |S)Nr)rrun) rGrr*tb_frame f_globalstb_nextr#rrr StackTreeItemrremote_object_tree_item)r flist_oidrrrdflistitems rr zExecutive.stackviewerns   -LCbb4  O44Y??E R[*:6.HHB R[*:6.HH (331$777r!r) rrrrrPrRrVrZr]rbr rr!rr(r(1sB$$$HHH111,,,??? 8 8 8 8 8 8r!r(rA)rezidlelib.idle_test.test_run) verbosityr)NN)F)CrrrrrrQr#rrirY_threadrrFr+r?rrrrrrr rArxhasattrmodulesmoddelattrr rIeofrMquitrr r(r*r.Tclr2r3rLrUrHrerHrmrrXrrr{rrrr RPCServerrk TextIOBaserrrr0rlr(runittestrr!rrzsx     ws{=):660**  K S( ) )*/CK '   CDHDHH   D      >B      ) ) )gkmm   KKKKZ&" 9 9 9"""H!!!>"""    1 1 1===%.%.%.P N N N#$#$#$#$#$#-#$#$#$P 0 . . . . .I . . .,,,,,9,,,^* * * * * * * * ZJ8J8J8J8J8J8J8J8Z zD %3333s1CC  C