}BFjCdZddlZddlmZddlmZddlmZmZm Z m Z GddZ Gdd Z Gd d Z dS) zIO capturing utilities.N)StringIO) TracebackType)AnyListOptionalTypecTeZdZddZdZdZddZdZdZd Z d Z d Z d Z d Z dS) RichOutputNFcJ|pi|_|pi|_|pi|_||_dSNdatametadata transientupdate)selfrrrrs CC:\PYTHON\_runtimes\venv\Lib\site-packages\IPython/utils/capture.py__init__zRichOutput.__init__s.JB  B "b cXddlm}||j|j|j|jdS)Nr)publish_display_datar )IPython.displayrrrrr)rrs rdisplayzRichOutput.displaysO888888$)dm'+~dk K K K K K Krcf||jvrdS|j|}||jvr||j|fS|Sr rr)rmimers r _repr_mime_zRichOutput._repr_mime_sC ty Fy 4= t,, ,Krc|j|jfSr r)rincludeexcludes r_repr_mimebundle_zRichOutput._repr_mimebundle_'sy$-''rc,|dS)Nz text/htmlrrs r _repr_html_zRichOutput._repr_html_* ,,,rc,|dS)Nz text/latexr#r$s r _repr_latex_zRichOutput._repr_latex_- ---rc,|dS)Nzapplication/jsonr#r$s r _repr_json_zRichOutput._repr_json_0s 2333rc,|dS)Nzapplication/javascriptr#r$s r_repr_javascript_zRichOutput._repr_javascript_3s 8999rc,|dS)Nz image/pngr#r$s r _repr_png_zRichOutput._repr_png_6r&rc,|dS)Nz image/jpegr#r$s r _repr_jpeg_zRichOutput._repr_jpeg_9r)rc,|dS)Nz image/svg+xmlr#r$s r _repr_svg_zRichOutput._repr_svg_<s000r)NNNF)NN)__name__ __module__ __qualname__rrrr!r%r(r+r-r/r1r3rrr r s KKK ((((---...444:::---...11111rr c eZdZdZ d deedeedeeefdZdZ e de fd Z e de fd Z e d Zd ZeZdS) CapturedIOaSimple object for containing captured stdout/err and rich display StringIO objects Each instance `c` has three attributes: - ``c.stdout`` : standard output as a string - ``c.stderr`` : standard error as a string - ``c.outputs``: a list of rich display outputs Additionally, there's a ``c.show()`` method which will print all of the above in the same order, and can be invoked simply via ``c()``. Nstdoutstderroutputsc8||_||_|g}||_dSr )_stdout_stderr_outputs)rr:r;r<s rrzCapturedIO.__init__Ms'   ?G rc|jSr )r:r$s r__str__zCapturedIO.__str__Ys {rreturncF|jsdS|jS)zCaptured standard output)r>getvaluer$s rr:zCapturedIO.stdout\'| 2|$$&&&rcF|jsdS|jS)zCaptured standard errorrE)r?rFr$s rr;zCapturedIO.stderrcrGrc$d|jDS)a A list of the captured rich display outputs, if any. If you have a CapturedIO object ``c``, these can be displayed in IPython using:: from IPython.display import display for o in c.outputs: display(o) c&g|]}tdi|S)r7)r ).0kargss r z&CapturedIO.outputs..us&AAA$$e$$AAAr)r@r$s rr<zCapturedIO.outputsjsBA$-AAAArc^tj|jtj|jtjtj|jD] }t di|!dS)z0write my output to sys.stdout/err as appropriateNr7)sysr:writer;flushr@r r)rrLs rshowzCapturedIO.showws %%% %%%  ] * *E      ' ' ) ) ) ) * *rr )r4r5r6__doc__rrrrrrBpropertystrr:r;r<rR__call__r7rrr9r9@s   (,   "  "  $s)$     ''''X' ''''X'  B BX B***HHHrr9ceZdZdZdZdZdZddededefdZde fdZ d e e e d e e d e efd Zd S)capture_outputz(context manager for capturing stdout/errTr:r;rc>||_||_||_d|_dSr )r:r;rshell)rr:r;rs rrzcapture_output.__init__s"    rrCcFddlm}ddlm}ddlm}t j|_t j |_ |j r$||_ |j d|_ d|_ dx}x}}|jrtx}t _|j rtx}t _ |j rc|j j|_ ||j _|j jj}t j|_||j |t _t'|||S)Nr) get_ipython)CapturingDisplayPublisher)CapturingDisplayHookF)rZr<)IPython.core.getipythonr\IPython.core.displaypubr]IPython.core.displayhookr^rOr: sys_stdoutr; sys_stderrrrZsave_display_pubr display_pubr< displayhooksave_display_hookr9)rr\r]r^r:r;r<s r __enter__zcapture_output.__enter__s4777777EEEEEEAAAAAA** < %$DJz!(,%$ $(((' ; -"*** ,FSZ ; -"*** ,FSZ < D$(J$:D !%>%>%@%@DJ "j,4G%(_D "22;BDDDCO&&'222rexc_type exc_value tracebackc|jt_|jt_|jr+|jr&|j|j_|j t_ dSdSdSr ) rbrOr:rcr;rrZrdrergrf)rrirjrks r__exit__zcapture_output.__exit__sV_ _ < 5DJ 5%)%:DJ ""4COOO 5 5 5 5rN)TTT)r4r5r6rSr:r;rboolrr9rhrr BaseExceptionrrmr7rrrXrXs22 F FGt$d 3:3333:5$}*=!>58TaKb5owyFpG555555rrX)rSrOiortypesrtypingrrrrr r9rXr7rrrss  ,,,,,,,,,,,,+1+1+1+1+1+1+1+1\@@@@@@@@F.5.5.5.5.5.5.5.5.5.5r