
    L#0j)                     ^   S SK r S SKrS SKrS SKJr  S SKJr  \" S5      r\S-  r\S-  S-  r	\R                  " S5      r1 S	kr1 S
krS/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4S/ SQ4/
rS rS  rS! rS" rS# rS$ rS% rS& rS' rS( rS) rS* r\S+:X  a  \" 5         gg),    N)Counter)Pathz/home/lucas/joana666zcompendio.txtbuildzcompendio.jsonu+   ^[A-ZÀ-Ÿ0-9][A-ZÀ-Ÿ0-9 ()\-/,.+'ª°]+$>   IDOBSNOTA   OPINIÃO
   IMPRESSÃO   IMPRESSÃO DIAGNÓSTICA>   r   RMT1T2TCATMAVCCAIDVAIIILCRMAVSWITOFVIIVIIIFLAIRsela)	r   hipofisselarquiasmazadeno-hipofzneuro-hipofzhaste hipofmicroadenomamacroadenomaatm)temporomandibularzdisco articularzcondilo mandibulzeminencia temporalossos_temporais)
zosso temporalzossos temporaiszapice petrosozconduto auditivococlea	labirintozschwannoma vestibularzviii parotospongioseznervo facial intratemporal	mastoides)mastoide
otomastoidzouvido mediozcaixa timpanicatimpanocolesteatomaorbitas)orbitaorbitarizglobo ocularznervo opticozmusculos extrinsecoszretro-orbit
intraconal
extraconalangio)r2   arteria	aneurismazmalformacao arteriovenosaz mavestenosez tofzpoligono de williszcirculo de williscarotidvertebrobasilbasilarfistulaz dvazdesenvolvimento venosoztrombose venosazseio venosoface)zseios paranasaiszseio maxilarzseio frontalzseio esfenoidaletmoidzfossa nasalzcavidade nasal
rinofaring
nasofaringcavum	sinusopatzpolipo nasalmucocelecornetospescoco)
rB   tireoidparotidazglandula salivarzglandula submandibular	linfonodozcadeia cervicalfaringelaringezespaco parafaringcoluna)vertebrzdisco intervertebralzhernia discalzprotrusao discalzabaulamento discalzcanal vertebralzcanal medularforame	foraminallistese	espondilozmedula espinhalzcone medularzcauda equinazligamento amarelomodicschmorlcranio)encefalcerebrzsubstancia branca	ventricul	hipocampoglioseinfartoz avcisquemfazekas
parenquimacerebeloztronco encefal
meningiomagliomazesclerose mesialchiarihidrocefalia	cavernomadesmielinizantzesclerose multiplazcisto aracnoidehematoma
hemorragia	metastasetumorc                 \    U R                  5       R                  S5      R                  5       $ )N:)striprstriptexts    -/home/lucas/joana666/build/parse_compendio.pystrip_labelrl      s"    ::<s#))++    c                 B    [        U 5      R                  5       [        ;   $ N)rl   upperMETADATA_LABELSri   s    rk   is_metadata_labelrr      s    t""$77rm   c                     U R                  5       n[        U5      S:  =(       a.    [        R                  U5      S L=(       a    [	        U5      (       + $ )N   )rg   len	HEADER_RE	fullmatchrr   )linestrippeds     rk   	is_headerrz      sF    zz|HH 	,)5	,!(++rm   c                     [         R                  " SU 5      nSR                  S U 5       5      nUR                  5       $ )NNFKD c              3   `   #    U  H$  n[         R                  " U5      (       a  M   Uv   M&     g 7fro   )unicodedata	combining).0chs     rk   	<genexpr>normalize.<locals>.<genexpr>   s      W:R[=R=RSU=Vbb:s   .	.)r   	normalizejoinlower)rj   
decomposedwithout_accentss      rk   r   r      s7    &&vt4JggW:WWO  ""rm   c                 R    S n[         R                  " SXR                  5       5      $ )Nc                     U R                  S5      n[        U5      R                  5       [        ;   a  UR                  5       $ US S R                  5       USS  R	                  5       -   $ )Nr      )groupr   rp   ACRONYMSr   )matchwords     rk   replace_word title_case.<locals>.replace_word   sU    {{1~T?  "h.::<BQx~~$qr(.."222rm   u   [A-Za-zÀ-ÿ0-9]+)resubr   )	raw_titler   s     rk   
title_caser      s"    3 66&oo6GHHrm   c                     / n/ nU  HF  nUR                  5       (       a!  UR                  UR                  5       5        M9  [        X5        / nMH     [        X5        U$ ro   )rg   appendadd_variant)linesvariantscurrentrx   s       rk   split_variantsr      sR    HG::<<NN4::<(H&  "Orm   c                     SR                  U5      R                  5       nU(       a#  [        U5      (       d  U R                  U5        g g g )N )r   rg   rr   r   )r   r   rj   s      rk   r   r   
  s9    88E?  "D%d++ ,trm   c                     U(       a  US   OSn[        U  SU 35      n[         H$  u  pEU H  nXc;   d  M
  U[        U5      4s  s  $    M&     g)Nr   r}   r   )outrosOutros)r   REGION_KEYWORDSreadable_keyword)	title_rawr   first_varianthaystackregionkeywordskeywords          rk   infer_region_and_categoryr     sW    #+HQKMI;a78H+G"/888   ,
 rm   c                     U R                  5       R                  S5      R                  5       nUR                  5       [        ;   a  UR                  5       $ U$ )N")rg   rp   r   )r   cleaneds     rk   r   r     s@    mmo##C(..0G}}("}}Nrm   c                    / nS n/ nU R                  5        HR  n[        U5      (       a)  Ub  UR                  X#45        UR                  5       n/ nM<  Uc  MA  UR                  U5        MT     Ub  UR                  X#45        U$ ro   )
splitlinesrz   r   rg   )rj   sectionscurrent_titlecurrent_bodyrx   s        rk   parse_sectionsr   #  s    HML!T??( => JJLML&% "  56Orm   c           	          / nU  H=  u  p#[        U5      n[        X$5      u  pVUR                  [        U5      UUUUS.5        M?     U$ )N)titulo
titulo_rawregiao	categoria	variantes)r   r   r   r   )r   recordsr   
body_linesr   r   categorys          rk   build_recordsr   7  sW    G!)	!*-4YI$Y/' %%	
 "* Nrm   c                     [         R                  SS9n [        [        U 5      5      n[        R
                  R                  SSS9  [        R                  SSS9 n[        R                  " XSSS9  S S S 5        [        S	 U 5       5      nU Vs/ s H  oDS
   S:X  d  M  US   PM     snS S n[        S[        U5       35        [        SU 35        [        S5        U H  n[        U5        M     g ! , (       d  f       N= fs  snf )Nzutf-8)encodingT)parentsexist_okwFr   )ensure_asciiindentc              3   *   #    U  H	  oS    v   M     g7f)r   N )r   records     rk   r   main.<locals>.<genexpr>R  s     <G&H%Gs   r   rP   r      u   total de seções: u   contagem por região: u,   títulos das 3 primeiras seções de cranio:)INPUT	read_textr   r   OUTPUTparentmkdiropenjsondumpr   printru   )rj   r   handlecountsr   cranio_titlestitles          rk   mainr   J  s    ??G?,DN401G
MMt4	S7	+v		'a@ 
, <G<<F'.'.V2Bh2Nxwq
M 
G~
./	"6(
+,	
89e  
,	+s   C3D	D3
D__main__)r   r   r   collectionsr   pathlibr   ROOTr   r   compilerv   rq   r   r   rl   rr   rz   r   r   r   r   r   r   r   r   r   __name__r   rm   rk   <module>r      sH    	    "#	*	*JJEF	, 	
	
 		
 		
  		

 			
 		
. 		
( 		
  		
. 		
[l^,8#I 	(&( zF rm   