
    i                     0   d dl Z d dlmZ d dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d	d
lmZ d Zd Zd Zd Zd Zeeeeegg dfZd Zej6                  j9                  ded    ed         d        Zd Zd Z G d de      Z y)    N)TestCase)zeros)InMemoryLookupKBWriterLanguage)TrainablePipe)Vectors)Vocab   )make_tempdirc                      t               S Nr        |/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/serialize/test_resource_warning.pynlpr      s
    :r   c                  >    t        dd      } g d}t        | |      S )N)      fdtype)catdogratdatakeys)r   r
   r   s     r   vectorsr       s     s#D D4((r   c                  ^     G fdd       G fddt               }  | t                     S )Nc                   f     e Zd Z fdZ e       dfdZd Z e       fdZ e       fdZ xZ	S )&custom_pipe.<locals>.SerializableDummyc                 D    |r|| _         nd | _         t        |           y r   )cfgsuper__init__)selfr%   SerializableDummy	__class__s     r   r'   z/custom_pipe.<locals>.SerializableDummy.__init__   s"    #T35r   Nc                 V    t        j                  dt        j                  d       i      S )Ndummy)srslymsgpack_dumps
json_dumps)r(   excludedisablekwargss       r   to_bytesz/custom_pipe.<locals>.SerializableDummy.to_bytes%   s#    &&1A1A$1G'HIIr   c                     | S r   r   )r(   
bytes_datar0   s      r   
from_bytesz1custom_pipe.<locals>.SerializableDummy.from_bytes(       Kr   c                      y r   r   r(   pathr0   r2   s       r   to_diskz.custom_pipe.<locals>.SerializableDummy.to_disk+   s    r   c                     | S r   r   r9   s       r   	from_diskz0custom_pipe.<locals>.SerializableDummy.from_disk.   r7   r   )
__name__
__module____qualname__r'   tupler3   r6   r;   r=   __classcell__)r*   r)   s   @r   r)   r#      s4    	6 $)7D 	J	 ). 	 +0' 	r   r)   c                       e Zd Zd fd	Zy)custom_pipe.<locals>.MyPipec                 N    |r|| _         nd | _                 | _        || _        y r   )r%   modelvocab)r(   rG   rF   r%   r)   s       r   r'   z$custom_pipe.<locals>.MyPipe.__init__2   s%    *,DJDJr   N)T)r>   r?   r@   r'   )r)   s   r   MyPiperD   1   s    	r   rH   )r	   r   )rH   r)   s    @r   custom_piperI      s'     (  %'?r   c                  ~    t               } | j                  d      }|j                  d       | j                          |S )NtaggerA)r   add_pipe	add_label
initialize)r   rK   s     r   rK   rK   =   s6    
*C\\(#F SNNMr   c                      t               } d }| j                  d      }|j                  |       | j                          |S )Nc                 \    t        | d      }|j                  ddt        dd             |S )Nr   entity_vector_lengthtestg        )r   r   r   )r   
add_entityr   )rG   kbs     r   	create_kbz entity_linker.<locals>.create_kbK   s*    e!<
fc5S#9:	r   entity_linker)r   rM   set_kbrO   )r   rW   rX   s      r   rX   rX   H   s>    
*C
 LL1M# NNr   )r   r    rI   rK   rX   c                 2   t               5 }t        j                  d      5 }t        j                  dt               | j                  |       t        t        d |            cd d d        cd d d        S # 1 sw Y   nxY w	 d d d        y # 1 sw Y   y xY w)NT)recordalways)categoryc                 "    t        | t              S r   )
isinstanceResourceWarning)xs    r   <lambda>z.write_obj_and_catch_warnings.<locals>.<lambda>e   s    A)G r   )r   warningscatch_warningsfilterwarningsr`   r;   listfilter)objdwarnings_lists      r   write_obj_and_catch_warningsrk   _   s    	 Y1$$D1 	Y]##HGKKNGWX		Y 	YY Y	Y 	Y 	YY Y Ys#   BAA7$	B7B 	<BBobj_factoryr   )idsc                 H     |        }t        |      }t        |      dk(  sJ y )Nr   )rk   len)rl   rh   rj   s      r   test_to_disk_resource_warningrp   h   s&    
-C05M}"""r   c                  &   d } t               5 }|dz  }	 t        |      } | r| j                          	 d d d        y # t        $ r(}t        j                  t        |             Y d }~Hd }~ww xY w# | r| j                          w w xY w# 1 sw Y   y xY w)NrT   )r   r   	Exceptionpytestfailstrclose)writerri   r:   es       r   test_writer_with_path_py35ry   o   s    F	 16z	D\F    	 KKA	    s=   B;B	A,A'"A/'A,,A//BBBc                     t               } t        | j                  d      }t               5 }|dz  }	 |j	                  |       	 t        | j                  d      }|j                  |       d d d        y # t
        $ r(}t        j                  t        |             Y d }~^d }~ww xY w# t
        $ r(}t        j                  t        |             Y d }~id }~ww xY w# 1 sw Y   y xY w)Nr   rR   rV   )
r   r   rG   r   r;   rr   rs   rt   ru   r=   )r   rV   ri   r:   rx   	kb_loadeds         r   !test_save_and_load_knowledge_baser|   |   s    
*C	#))!	<B	  14x	 JJt	 (KI%     	 KKA	   	 KKA	    sR   CA6(B*6	B'?B"C"B''C*	C3CCCCC'c                       e Zd Zd Zy)!TestToDiskResourceWarningUnittestc                    t         d   D cg c]	  } |        }}t         d   }t        ||      }|D ]F  \  }}| j                  |      5  t        |      }| j	                  t        |      d       d d d        H y c c}w # 1 sw Y   XxY w)Nr   r   )msg)objects_to_testzipsubTestrk   assertEqualro   )r(   ra   itemsnames	scenariositemnamerj   s           r   test_resource_warningz7TestToDiskResourceWarningUnittest.test_resource_warning   s    -a0111"u%	# 	8JD$$' 8 <T B  ]!3Q78 8	8	 2
8 8s   A='BB	N)r>   r?   r@   r   r   r   r   r~   r~      s    8r   r~   )!rc   unittestr   rs   r-   numpyr   spacy.kb.kb_in_memoryr   r   spacy.languager   spacy.pipeliner	   spacy.vectorsr
   spacy.vocabr   utilr   r   r    rI   rK   rX   r   rk   markparametrizerp   ry   r|   r~   r   r   r   <module>r      s         : # ( !  )D$ 	';6@Y (:PQ@RS# T#
 "	8 	8r   