
    ^h                     Z    S SK r S SKrS SKrS SKr " S S5      rS r\S:X  a  \" 5         gg)    Nc                   B    \ rS rSrS rSS jrS rS rS rS r	S r
S	rg
)
LogPrinter   c                     Xl         g )Nfile)selfr   s     K/home/james-whalen/.local/lib/python3.13/site-packages/chatdbg/util/plog.py__init__LogPrinter.__init__	   s    	    c                 *    [        XR                  S9  g )Nr   )printr   )r	   xs     r
   r   LogPrinter.print   s    aii r   c                     US   R                  5       n[        U5      S:  a%  U R                  [        R                  " USS95        g g )Noutputr      prefix)striplenr   textwrapindent)r	   r   texts      r
   _do_messageLogPrinter._do_message   s;    {  "t9q=JJxtE:; r   c                    US   R                  5       nUS   S   S:X  d   eUS   S   R                  5       n[        U5      S:  a9  U R                  SU 35        U R                  [        R
                  " USS95        g g )	Ninputr   typer   r   z   (ChatDBG) r   r   )r   rstripr   r   r   r   )r	   r   promptbodys       r
   _do_functionLogPrinter._do_function   s|    7!!#{6"f,,,{8$++-t9q=JJvh/0JJxtE:; r   c                     US    H?  nUS   S:X  a  U R                  U5        OU R                  U5        U R                  5         MA     g )Noutputsr    call)r$   r   r   )r	   r   r   s      r
   _do_assistantLogPrinter._do_assistant   sA    	lFf~'!!&)  (JJL #r   c                     US   R                  5       nU R                  SU 35        US   nUS   S:X  aH  US   R                  5       n[        U5      S:  a%  U R                  [        R
                  " USS95        g g U R                  U5        g )	Nr   z
(ChatDBG) r   r    r   r   r   r   )r   r   r!   r   r   r   r)   )r	   r   r"   r   r#   s        r
   _do_stepLogPrinter._do_step$   s    7!!#

Zx()8&>V#(#**,D4y1}

8??4>?  v&r   c                 ~    US    H$  nU R                  5         U R                  U5        M&     U R                  5         g )Nsteps)r   r,   )r	   r   steps      r
   do_oneLogPrinter.do_one1   s0    gJDJJLMM$  	

r   r   N) )__name__
__module____qualname____firstlineno__r   r   r   r$   r)   r,   r1   __static_attributes__ r   r
   r   r      s%    !<
<'r   r   c                  .   [         R                  " SS9n U R                  SSSS9  U R                  5       nUR                   H  n[        US5       n[        R                  " U5      nS S S 5        [        W5       H  u  pV[        5         [        U S3S	-   5        [        US
   [        R                  S9  [        S5        [        [        R                  5      R                  U5        [        5         [        5         M     M     g ! , (       d  f       N= f)NzChatDBG log printer)description	filenames*zlog files to print)nargshelpr zN------------------------------------------------------------------------------instructionsr   zP--------------------------------------------------------------------------------)argparseArgumentParseradd_argument
parse_argsr<   openyaml	safe_load	enumerater   sysstdoutr   r1   )parserargsr   logfullir   s          r
   mainrR   8   s    $$1FGF
35IJD$_>>#&D  dODAGQCq'X&'!N##**5(Oszz"))!,GG $	 _s   D
D	__main__)rC   rK   r   rH   r   rR   r4   r9   r   r
   <module>rT      s5     
  - -`( zF r   