U e5d~)@sddlZddlZddlmZmZddddgZGdddZGdddeZdd dZe d krddl Z e Z e j d d d de ZejsejjrdZndZeedS)N)CommandCompilercompile_commandInteractiveInterpreterInteractiveConsoleinteractrc@sBeZdZdddZdddZdd Zdd d Zd d ZddZdS)rNcCs$|dkrddd}||_t|_dS)NZ __console__)__name____doc__)localsrcompile)selfr r /usr/lib64/python3.8/code.py__init__s  zInteractiveInterpreter.__init__singlec CsTz||||}Wn&tttfk r8||YdSX|dkrFdS||dS)NFT)r OverflowError SyntaxError ValueErrorshowsyntaxerrorruncode)r sourcefilenameZsymbolcoder r r runsource&s  z InteractiveInterpreter.runsourcecCs>zt||jWn(tk r&Yn|YnXdSN)execr SystemExit showtraceback)r rr r r rMs zInteractiveInterpreter.runcodec Cst\}}}|t_|t_|t_|rp|tkrpz|j\}\}}}} Wntk rVYnXt||||| f}|t_tjtj krt ||} | d | nt|||dS)N)sysexc_info last_type last_valuelast_tracebackrargsr excepthook__excepthook__ tracebackformat_exception_onlywritejoin) r rtypevaluetbmsgZdummy_filenamelinenooffsetlinelinesr r r r`s    z&InteractiveInterpreter.showsyntaxerrorcCs|t\t_t_}}|t_zPt|d|d|j}tjtj krT| d |nt|d|d|W5d}}XdS)Nrr) rr r!r"r#r'format_exceptiontb_nextr%r&r)r*)r Zlast_tbZeir2r r r rs z$InteractiveInterpreter.showtracebackcCstj|dSr)rstderrr))r datar r r r)szInteractiveInterpreter.write)N)rr)N) r __module__ __qualname__rrrrrr)r r r r rs   ' #c@s:eZdZdddZddZdddZd d Zdd d ZdS)rN cCst||||_|dSr)rrr resetbuffer)r r rr r r rs zInteractiveConsole.__init__cCs g|_dSr)buffer)r r r r r;szInteractiveConsole.resetbuffercCsRz tjWntk r$dt_YnXz tjWntk rJdt_YnXd}|dkrx|dtjtj||jjfn|r|dt |d}zV|rtj}ntj}z| |}Wn&t k r|dYWqYn X| |}Wqt k r|d|d}YqXq|dkr6|d |jjn|d krN|d|dS) Nz>>> z... zFType "help", "copyright", "credits" or "license" for more information.zPython %s on %s %s (%s) z%s r z KeyboardInterrupt znow exiting %s... r)rZps1AttributeErrorZps2r)versionplatform __class__rstr raw_inputEOFErrorpushKeyboardInterruptr;)r bannerexitmsgZcprtmorepromptr1r r r rsH          zInteractiveConsole.interactcCs6|j|d|j}|||j}|s2||S)Nr=)r<appendr*rrr;)r r1rrIr r r rEs   zInteractiveConsole.pushrcCst|Sr)input)r rJr r r rCs zInteractiveConsole.raw_input)Nr:)NN)r)rr8r9rr;rrErCr r r r rs   6cCsJt|}|dk r||_n"z ddl}Wntk r8YnX|||dS)Nr)rrCreadline ImportErrorr)rGZreadfuncZlocalrHZconsolerMr r r rs __main__z-q store_truez*don't print version and copyright messages)actionhelpr)NNNN)rr'Zcodeoprr__all__rrrrargparseArgumentParserparser add_argument parse_argsr$qflagsquietrGr r r r s(t