
    +#h	                     @    d dl Z d dlZd dlZd dlZd dlZ G d d      Zy)    Nc                   8    e Zd Zd Zd Zd Zd	dZd Zd Zd Z	y)
FuncInspectorc                     g | _         y N)calls)selfs    S/var/www/html/sandstorm/venv/lib/python3.12/site-packages/dsp/primitives/inspect.py__init__zFuncInspector.__init__
   s	    DJ    c                       fd}|S )Nc                  <     | i |}j                  |       |S r   )merge_result)argskwargsresultfuncfunction_callsr   s      r	   wrapperz,FuncInspector.inspect_inner.<locals>.wrapper   s'    T$V$f
/mr    )r   r   r   r   s   ``` r	   inspect_innerzFuncInspector.inspect_inner   s     Nr   c                       fd}|S )Nc                      | i |}t        j                         }g }t        t        |            D ]2  }||   d   dk(  r n%||   d   dk7  s|j	                  ||   d          4 |j                          j                  ||      }|S )N   z<module>r   )inspectstackrangelenappendreverser   )r   r   r   r   r   ir   r   s         r	   r   z+FuncInspector.inspect_func.<locals>.wrapper   s    T$V$fmmoenSZ  -!8A;*$
8A;)#


a
,	-
 !!&.9fmr   r   )r   r   r   s   `` r	   inspect_funczFuncInspector.inspect_func   s     Nr   c                     t        |t              r|D ]  }| j                  ||        t        |t              rUg }|D ]5  }|r||   r|dk(  r|j	                  |       !| j                  ||   |       7 |D ]  }|j                  |        y y )Ncompletions)
isinstancelistparsedictr   pop)r   objdelete_emptyelem	to_deletekeys         r	   r&   zFuncInspector.parse&   s    #t '$

4&'#ti -#CC=,@


3

**SX|
,	-
  # r   c                     | j                   }|si n|d   }|d d D ])  }||vr|g i}|j                  |       ||   }|si n|d   }+ |d   }| j                  |       |j                  |d   |i       y )Nr   )r   r   r&   )r   r   r   	prev_list	prev_callcallexample_objs          r	   r   zFuncInspector.merge_result5   s    

I#2Is# 9	Y	2J	#D/i%"9R=i9 )KJJ{~b);89r   c                    t         j                  t         j                  z   }dj                  t	        j
                  |d            }d}| j                  j                         }| j                  |d       ||d}t        j                  ||      }|j                  d	k(  rt        d
       nt        d|j                          y d| }t        d|        y )N    )kzhttp://127.0.0.1:5000/log-itemT)r*   )idcontent)json   zData created successfullyzError sending data to server: zhttp://localhost:3000?id=zView the data here, )stringdigitsascii_lowercasejoinrandomchoicesr   copyr&   requestspoststatus_codeprint)r   charsr8   post_urlparsed_callsdataresponsefrontend_urls           r	   	view_datazFuncInspector.view_dataD   s    MMF222E	+	,B/H::??$LJJ|$J/.D}}XD1Hs"'(,X-A-A,BCD.rd3L	 
/0r   c                     t        |d      }t        j                  | j                  d      }|j	                  |       y )Nw   )indent)openr:   dumpsr   write)r   out_pathfjson_objects       r	   output_jsonzFuncInspector.output_jsonX   s.    XsA**TZZ2KGGKr   N)F)
__name__
__module____qualname__r
   r   r!   r&   r   rM   rX   r   r   r	   r   r   	   s%     :1(r   r   )r   r:   r@   r<   rC   r   r   r   r	   <module>r\      s         R Rr   