
    i6                        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mZmZ ddlmZmZ d Zd	 Zd
 Zd Zd ZdZdddddddddddgdddgdddde ge gd gd!Z ej0                  e      Zej4                  d"        Zd# Zd$ Zd% Zej>                  jA                   e        d&'      ej>                  jC                  d(g d)      d*               Z"d+ Z#d, Z$d- Z%g d.Z&g d/Z'g d0Z(g d1Z)g d2Z*g d3Z+g d4Z,g d5Z-g d6Z.d7gZ/ e0e&e(e*e+e,g d8e-e.e/d9d:d;<
      Z1 e0e'e)e*e+e,g d8e-e.e/d:d9d;<
      Z2ej>                  jf                  ej>                  jC                  d=d>e1e2gfd?e1e2gfd@e1e2gfdAe1gdBz  fdCe1e2gfdDe1e2gfdEe1e2gfg      dF               Z4ej>                  jf                  ej>                  jC                  d=dGe1e2gdHz  fg      dI               Z5y)J    N)Path)	CliRunner)appget_git_version)DocDocBinSpan   )make_tempdirnormalize_whitespacec                  8    	 t                y# t        $ r Y yw xY w)NTF)r   RuntimeError     i/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tests/test_cli_app.pyhas_gitr      s"     s   
 	c            
         t               5 } t               5 }dD ]  }t        | |z        j                            t               j	                  t
        dt        |       t        |      g      }d|j                  v sJ t        j                  |      }t        |      dk(  sJ d|v sJ d|v sJ d|v sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)N)	data1.iob	data2.iobz	data3.iobconvertzGenerated output file   zdata1.spacyzdata2.spacyzdata3.spacyr   r   touchr   invoker   strstdoutoslistdirlend_ind_outfresult	out_filess        r   test_convert_autor&      s    	 *4 *58 	#AN  "	# ##C)SYE
)KL&&--777JJu%	9~"""	)))	)))	)))* * * * * *s#   CBC5CC	CCc            
         t               5 } t               5 }dD ]  }t        | |z        j                            t               j	                  t
        dt        |       t        |      g      }d|j                  v sJ t        j                  |      }t        |      dk(  sJ 	 d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)N)r   r   z
data3.jsonr   z!All input files must be same typer   r   r    s        r   test_convert_auto_conflictr(   %   s    	 #4 #59 	#AN  "	# ##C)SYE
)KL2fmmCCCJJu%	9~"""# # # # # #s#   C BB4#C 4B=	9C  C	c                      t               j                  t        g d      } t               j                  t        ddg      }t        | j                        t        |j                  j                  dd            k(  sJ y )N)	benchmarkaccuracy--helpevaluater,   zspacy evaluatezspacy benchmark accuracy)r   r   r   r   r   replace)result_benchmarkresult_evaluates     r   test_benchmark_accuracy_aliasr1   1   so     {))#/RSk((z8.DEO 0 7 78<P&&'79ST=   r   c                     t        | g dg d      t        | g dg d      g}t        | g dg d      t        | g dg d	      g}t               5 }t        |
      }|j                  |dz         t        |
      }|j                  |dz         t	               j                  t        dd| dddddg       t	               j                  t        dd| dd| dd| dg      }d|j                  v sJ 	 d d d        y # 1 sw Y   y xY w)NIlikecatsr4   r5   cat)wordslemmas)Dogsaregreattoo)dogber=   r>   )Catsr<   cute)r8   r@   rB   )Petsr<   r=   )petr@   r=   docstrain.spacy	dev.spacyinitconfig/config.cfg--langen
--pipelinetrainable_lemmatizerdebugdata--paths.train/train.spacy--paths.dev
/dev.spacyz= Trainable Lemmatizer =)r   r   r   to_diskr   r   r   r   )en_vocab
train_docsdev_docsr!   	train_bindev_binresult_debug_datas          r   (test_debug_data_trainable_lemmatizer_clir]   :   s:   H1:NO10	
J 	H3<QRH4=STH 
  F4
+	$./h'{*+&$&	
 &K..&$&%&
#
 *->-E-EEEEA F  F  Fs   B'DDzmyconfig.cfgzSample projectzThis is a project for testingzassets/spacy-readme.mdzYhttps://github.com/explosion/spaCy/raw/dec81508d28b47f09a06203c472b37f00db6c869/README.md 411b2c89ccf34288fae8ed126bf652f7)desturlchecksumzassets/citation.cffz:https://github.com/explosion/spaCy/raw/master/CITATION.cff c996bfd80202d480eb2e592369714e5eT)r_   r`   ra   extraokzprint okzpython -c "print('okokok')")namehelpscriptcreatezmake a filezpython -m spacy init config )re   rf   rg   outputs)titledescriptionassetscommandsc               #      K   t               5 } | dz  j                  t               |  d d d        y # 1 sw Y   y xY ww)Nproject.yml)r   
write_textSAMPLE_PROJECT_TEXT)pdirs    r   project_dirrs      s:     	 4		))*=>
  s   ?3	?<?c           
      (   | dz  }|j                         rJ d       t               j                  t        ddt	        |       dt	        |      g      }|j
                  dk(  sJ |j                         sJ |j                  d      }t        d   |v sJ y )	N	README.mdzREADME already existsprojectdocumentz-or   zutf-8rk   )	existsr   r   r   r   	exit_codeis_file	read_textSAMPLE_PROJECT)rs   readme_pathr$   texts       r   test_project_documentr      s    +K!!#<%<<#[iS%5tS=MNF q        )D-(D000r   c           	         | dz  }|j                         rJ d       t               j                  t        ddt	        |       g      }|j
                  dk(  sJ |dz  j                         sJ d       t               j                  t        dddt	        |       g      }|j
                  dk(  sJ |dz  j                         sJ d	       y )
Nrl   zAssets dir is already presentrv   r   zspacy-readme.mdzAssets not downloadedz--extrazcitation.cffzExtras not downloaded)rx   r   r   r   r   ry   rz   )rs   	asset_dirr$   s      r   test_project_assetsr      s    h&I!B#BB![i3{;K%LMFq   ))224M6MM4[i9c+FV%WXFq   &//1J3JJ1r   c           
         | t         z  }t               j                  t        ddddt	        |       g      }|j
                  dk(  sJ |j                         rJ t               j                  t        dddt	        |       g      }|j
                  dk(  sJ |j                         sJ t               j                  t        dddt	        |       g      }|j
                  dk(  sJ d|j                  v sJ y )Nrv   runz--dryrh   r   rd   okokok)CFG_FILEr   r   r   r   ry   rz   r   )rs   	test_filer$   s      r   test_project_runr      s    h&I[i3{3CDF q     """[i#kBR%STFq   [ic+>N%OPFq   v}}$$$r   zgit not installed)reasonoptions) z--branch v3z8--repo https://github.com/explosion/projects --branch v3c                 $   t               5 }|dz  }d}| sg } n| j                         } t               j                  t        dd|g| t        |            }|j                  dk(  sJ |dz  j                         sJ 	 d d d        y # 1 sw Y   y xY w)Nrv   zbenchmarks/ner_conll03cloner   ru   )r   splitr   r   r   r   ry   rz   )r   	workspaceouttargetr$   s        r   test_project_cloner      s     
 -9)#)GmmoG##)WfAwACA
 1$$$k!**,,,- - -s   A1BBc           
         t        t              }d}t               5 }|t        |      i|d<   t	        j
                  |      }| dz  j                  |       | t        z  }t               j                  t        dddt        |       g      }|j                  dk(  sJ |j                         sJ t               j                  t        dd|t        |       g      }|j                  dk(  sJ |j                          |j                         rJ t               j                  t        dd	|t        |       g      }|j                  dk(  sJ |j                         sJ 	 d d d        y # 1 sw Y   y xY w)
Nxyzremotesro   rv   r   rh   r   pushpull)dictr|   r   r   srsly
yaml_dumpsrp   r   r   r   r   ry   rz   unlinkrx   )rs   projremote
remote_dir	proj_textr   r$   s          r   test_project_push_pullr      sP   DF	 #:!3z?3Y$$T*		}	$00;(*	##C)UHc+FV)WX1$$$  """##C)VVSEU)VW1$$$##%%%##C)VVSEU)VW1$$$  """# # #s   D=E##E,c                     d} t               j                  t        d| ddg      }d|  d|j                  v sJ d|j                  v sJ t               j                  t        d| g      }d|  d|j                  v sJ d|j                  v sJ d} t               j                  t        d| g      }d|  d|j                  v sJ d	|j                  v sJ d|j                  v sJ y )
Nspacy.TextCatBOW.v3find-functionz-rarchitectureszFound registered function ''z
textcat.pyzspacy.TextCatBOW.v1spacy_legacyr   r   r   r   )functionr$   s     r   test_find_function_validr      s    $H[ox%WXF(
!4EEE6==((([ox%@AF(
!4EEE6==((( %H[ox%@AF(
!4EEEV]]***6==(((r   c                      d} d}t               j                  t        d| d|g      }d| d|j                  v sJ d} t               j                  t        d| g      }d|  d|j                  v sJ y )	Nr   foobarr   z
--registryzUnknown function registry: 'r   zspacy.TextCatBOW.v666z$Couldn't find registered function: 'r   )r   registryr$   s      r   test_find_function_invalidr     s    $HH[oxx@F *(15FFF 'H[ox%@AF1(1=NNNr   r3   )r4   r5   dogsr7   )r4   r5   r?   )PRPVBPNNS)z*Case=Nom|Number=Sing|Person=1|PronType=PrszTense=Pres|VerbForm=FinzNumber=Plur)nsubjROOTdobj)PRONVERBNOUN)Or   zI-ANIMAL)   r   ANIMAL)r
   r
   r
   g      ?g        )CATDOG)
r9   r:   tagsmorphsdepsheadsposentsspansr6   zcomponent,examplestaggermorphologizerrO   parser   nerspancattextcatc                    | dk(  r5g }|D ]-  }t        ||d         }|d   |_        |j                  |       / n| dk(  r_g }|D ]W  }t        ||d         }|d   D cg c]  \  }}}t        ||||       c}}}|j                  d<   |j                  |       Y nNg }|D ]G  }|j                         D 	
ci c]  \  }	}
|	dvs|	|
 }}	}
t        |fi |}|j                  |       I t               5 }t        |	      }|j                  |d
z         t        |	      }|j                  |dz         t               j                  t        dd| dddd| g      }|j                  dk(  sJ t               j                  t        d| dd| dd| dd| dg      }|j                  dk(  sJ t        |dz  dz        j                         sJ 	 d d d        y c c}}}w c c}
}	w # 1 sw Y   y xY w)Nr   r9   )r9   r6   r   r   scr6   r   rE   rG   rH   rI   rJ   rK   rL   rM   rN   r   trainrR   rS   rT   rU   --output/modelmodel
model-last)r   r6   appendr	   r   itemsr   r   rV   r   r   r   ry   r   rx   )	componentexamplesrW   rX   exampledocstartendlabelkvr!   rZ   r[   init_config_resulttrain_results                   r   test_init_config_trainabler   9  sT    I
 	#Ghgg&67CvCHc"	# 
i	
 	#Ghgg&67CFMgFV 1BUS%e,CIIdO c"	# 
 	#G(/V11DU;Uq!tVGVh*'*Cc"		# 
  <4
+	$./j){*+&[//&$
 "++q000 {))&$&%&
#&	
 %%***D7N\1299;;;A <  < W <  <s    G
9G&G&7CG,,G5ztagger,parser,morphologizer   c                    g }|D ]G  }|j                         D ci c]  \  }}|dvs|| }}}t        |fi |}|j                  |       I t               5 }t	        |      }	|	j                  |dz         t	        |      }
|
j                  |dz         t               j                  t        dd| ddd	d
| g      }|j                  dk(  sJ t               j                  t        d| dd| dd| dd| dg      }|j                  dk(  sJ t        |dz  dz        j                         sJ 	 d d d        y c c}}w # 1 sw Y   y xY w)Nr   rE   rG   rH   rI   rJ   rK   rL   rM   rN   r   r   rR   rS   rT   rU   r   r   r   r   )r   r   r   r   r   rV   r   r   r   ry   r   rx   )r   r   rW   rX   r   r   r   r   r!   rZ   r[   r   r   s                r   #test_init_config_trainable_multipler     s    J $+MMORDAqq@Q7Q1a4RR(&g&#
 
  <4
+	$./j){*+&[//&$
 "++q000 {))&$&%&
#&	
 %%***D7N\1299;;;A <  <	 S <  <s   EECEE)6r   pathlibr   pytestr   typer.testingr   spacy.cli._utilr   r   spacy.tokensr   r   r	   utilr   r   r   r&   r(   r1   r]   r   r|   r   rq   fixturers   r   r   r   markskipifparametrizer   r   r   r   example_words_1example_words_2example_lemmas_1example_lemmas_2example_tagsexample_morphsexample_depsexample_posexample_entsexample_spansr   TRAIN_EXAMPLE_1TRAIN_EXAMPLE_2slowr   r   r   r   r   <module>r      s   	    # 0 * * 4*	#-Fd  2 -n:	
 *O:		
 67	
 !5hZ@A#*		
!> 'e&&~6   	1	K%  	M*=>- ?-#,)&O ('' ' $
 )&%!"
		
	
S	! 
		
	
S	! 	O_56	?O<=	/?!CD	O$r)*	/23	_o67	_o677< 7<t #o%G"%LMN'<	 
'<r   