o
     !j                      @   s  d Z ddlZddlZddlZddlmZ edZedZdZdZ	dd	d
dddZ
g dZg dZg dZi dddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8Zd9d: Zd;efd<d=Zd>d? Zed@kre  dS dS )Au   
scraper_mte_trf.py — SAVE Company
Coleta decisões onde EMPREGADOR VENCEU autuações do Ministério do Trabalho nos TRFs.
Usa DataJud CNJ (API pública).
Multas administrativas do MTE são cobradas via execução fiscal na Justiça Federal.
    N)PathzJ/home/cristiano/meus-projetos/pesquisa-juridica/mte_empregador_venceu.jsonz;/home/cristiano/meus-projetos/pesquisa-juridica/mte_run.logz<cDZHYzlZa0JadVREZDJCendQbXY6SkJlTzNjLV9TRENyQk1RdnFKZGRQdw==z&https://api-publica.datajud.cnj.jus.brapi_publica_trf1api_publica_trf2api_publica_trf3api_publica_trf4api_publica_trf5)TRF1TRF2TRF3TRF4TRF5)i\  i  i`  m   i  )iD*  iG*  iJ*  i)  i)  i)  i)  i)  i)  i)  i)  i)  i)  i)  i)  i)  i)  i)  i)  )            i        zauto de infrau7   Auto de infração anulado — vício formal ou méritoautuacu*   Autuação do MTE anulada pelo Judiciáriomultaz*Multa administrativa trabalhista canceladanulidadeu1   Nulidade formal do auto de infração reconhecidaepiu.   EPI fornecido e documentado — auto canceladocipaz6CIPA dispensada por dimensionamento do estabelecimentopcmsou?   PCMSO/PPRA existentes — ausência não comprovada pelo fiscalpprau%   PPRA existente — autuação anulada
insalubridu1   Insalubridade afastada por laudo técnico (LTCAT)jornadau@   Jornada regular comprovada — banco de horas ou acordo coletivozhoras extrau7   Horas extras: banco de horas por ACT afastou autuaçãoctpsuD   Registro em CTPS: autônomo comprovado — vínculo não configuradoztrabalho infantz9Trabalho infantil: menor aprendiz regularmente contratadoztrabalho escravu;   Trabalho análogo à escravidão: caracterização afastadacotasz5Cotas PCD: cumprimento por estabelecimento comprovadoaprendizu6   Menor aprendiz com contrato regular — auto cancelado	terceirizuB   Terceirização lícita (pós-Reforma) — fraude não configuradau2   FGTS recolhido regularmente — execução extintau;   Decadência da ação punitiva (Lei 9.873/1999) reconhecidau;   Prescrição intercorrente — processo paralisado pelo MTEu<   Acidente de trabalho: culpa exclusiva da vítima reconhecidau<   Execução fiscal de multa MTE: dívida extinta ou prescrita)fgtsdecadprescriacidenteexecuc                 C   s.   |   }t D ]\}}||v r|  S qdS )Nu-   Autuação trabalhista administrativa anulada)lowerMOTIVO_MAPAitems)assunto_strachave	descricao r-   B/home/cristiano/meus-projetos/pesquisa-juridica/scraper_mte_trf.pymotivo_legivel]   s   r/   
existentesc                 C   s  t  d| d}dt dd}g }dddd	d
dtiid
dtiiddddiiigiig ddddiigd}d}|dk rR||d< ztj|||dd}|jdkrctd	d|  d|j d W |S |
 di dg }	|	stW |S |	D ]}
|
d }|d d!}|r||v rqv|| d"d#d$ |d%g D }d&d' |d(g D }d!}|d(g D ]}t|tr|d)dtv r|d*d!} nq||| t|d+tr|d+i d*d!nd!t|d,tr|d,i d*d!nd!|d-pd!d d. |dpd!d d. d/d||t|d0d1d2 qvt|	dk r W |S |d7 }td3 W n# tyM } ztd	d|  d4| d W Y d }~|S d }~ww |dk s=|S )5N/z/_searchzAPIKey zapplication/json)AuthorizationzContent-Typed   r   boolmusttermszclasse.codigozmovimentos.codigorangedataHoraUltimaAtualizacaogtez
2023-01-01)numeroProcessoclasseassuntos
movimentosorgaoJulgadordataAjuizamentor8   orderdesc)sizefromquery_sourcesorti  rC      )jsonheaderstimeout   r*   zERRO z: HTTP 
hitsrE   r:    z | c                 s   s&    | ]}t |tr|d dV  qdS )nomerN   N
isinstancedictget).0r*   r-   r-   r.   	<genexpr>   s    


zbuscar.<locals>.<genexpr>r<   c                 S   s"   h | ]}t |tr|d dqS )codigor   rP   )rT   mr-   r-   r.   	<setcomp>   s   " zbuscar.<locals>.<setcomp>r=   rV   rO   r;   r>   r?   
   -empregador_venceuDataJud)numerotribunalr;   orgao_julgadordata_ajuizamentodata_julgamentor<   tipo_decisaomotivo	resultadofonteg      ?: )BASEDATAJUD_KEYCLASSESMOV_EMPREGADOR_GANHArequestspoststatus_codeLOGopenwriterH   rS   addjoinrQ   rR   appendreplacer/   lentimesleep	Exception)tribunal_keyendpointr0   urlrI   
resultadosbodyoffsetrrM   hsnumr)   mov_codigostiporW   er-   r-   r.   buscard   s   



 (%


&&

.r   c            	   	   C   s  g } t  rtt  } tdt|  d dd | D }t D ]G\}}td| ddd t	|||}| 
| td	t| d
dd ttd}|| dt| d W d    n1 sdw   Y  q"t }g }| D ]}|d |vr||d  || qqtt d}tj||ddd W d    n1 sw   Y  tdt| dt   ttd}|dt| d W d    d S 1 sw   Y  d S )NzRetomando: z existentesc                 S   s   h | ]}|d  qS )r]   r-   )rT   r   r-   r-   r.   rX      s    zmain.<locals>.<setcomp>z
Coletando z...T)flushz  u    decisões encontradasr*   rf   u    decisões
r]   wF   )ensure_asciiindentu   Total único: u    → zTOTAL: u    decisões únicas
)OUTPUTexistsrH   loads	read_textprintru   TRFSr(   r   extendro   rn   rp   setrq   rs   dump)	todosr0   tribrz   r   fseenuniqdr-   r-   r.   main   s8   

"r   __main__)__doc__rH   rv   rk   pathlibr   r   rn   rh   rg   r   ri   ASSUNTOS_MTErj   r'   r/   r   r   r   __name__r-   r-   r-   r.   <module>   s~   		
	
I
