Ë
    †+Ôjá  ã                   óà   — d Z ddlZddlZddlmZmZ ddlmZm	Z	m
Z
 ddlmZmZmZ dZ ej                   «       Zd„ Zd	„ Zd
did
didddœd
didddœdœZ G d„ de«      Zd„ Zedk(  r e«        yy)zhPainel de auditoria editavel. Escuta so em 127.0.0.1; publicado apenas na tailnet via `tailscale serve`.é    N)ÚBaseHTTPRequestHandlerÚThreadingHTTPServeré   )Úagenda_syncÚ	auditoriaÚpreferencias)ÚagenteÚatualizar_itemÚgravar_itemid  c                 ó¤   — | j                  dd«      j                  «       | j                  dd«      j                  «       }}|r	|r|› d|› �S |xs d S )NÚdataÚ ÚhoraÚT)ÚgetÚstrip)Úformr   r   s      ú5/home/ubuntu/projetos/agente-tarefas/agente/painel.pyÚ_valor_datar      sQ   € Ø—‘˜& "Ó%×+Ñ+Ó-¨t¯x©x¸ÀÓ/C×/IÑ/IÓ/Kˆ$€DÙ#©ˆdˆV�1�T�FÐÐ@°4²<¸4Ð@ó    c                 óT  — |j                  d«      xs d}t        |«      }t        | |||j                  dd«      j                  «       xs d|j                  dd«      j                  «       xs d |j                  dd«      j                  «       xs d |dk(  r|nd |dk(  rd n|d	¬
«	       y )NÚtipoÚtarefaÚtitulor   u   (sem tÃ­tulo)ÚprojetoÚ	descricaoÚcompromissoÚaberto)r   r   r   r   ÚinicioÚprazoÚstatus)r   r   r
   r   )ÚconÚiidr   r   Úquandos        r   Ú_salvarr%      s    € Ø�8‰8�FÓÒ'˜x€DÜ˜Ó€FÜ�3˜ $¨t¯x©x¸À"Ó/E×/KÑ/KÓ/MÒ/`ÐQ`ØŸ8™8 I¨rÓ2×8Ñ8Ó:ÒB¸dÈdÏhÉhÐWbÐdfÓNg×NmÑNmÓNoÒNwÐswØ$(¨MÒ$9™&¸tÐSWÐ[hÒShÉ4ÐntØ"ö$r   r!   Ú	concluidoÚ
descartadou$   nÃ£o Ã© do JoÃ£o (marcado no painel))r!   r   r   ç      ð?)r!   Ú	confianca)ÚconcluirÚ	descartarÚ	nao_e_meuÚreabrirÚ	confirmarc                   ó.   — e Zd Zd„ Zdd„Zdd„Zd„ Zd„ Zy)	ÚPainelc                  ó   — y ©N© )ÚselfÚas     r   Úlog_messagezPainel.log_message%   s   € Ør   c                 ó,  — |j                  «       }| j                  |«       | j                  dd«       | j                  dt        t	        |«      «      «       | j                  dd«       | j                  «        | j                  j                  |«       y )NzContent-Typeztext/html; charset=utf-8úContent-LengthzCache-Controlzno-store)ÚencodeÚsend_responseÚsend_headerÚstrÚlenÚend_headersÚwfileÚwrite)r4   ÚcorpoÚcodigoÚdadoss       r   Ú_htmlzPainel._html(   ss   € Ø—‘“ˆØ×Ñ˜6Ô"Ø×Ñ˜Ð)CÔDØ×ÑÐ)¬3¬s°5«z«?Ô;Ø×Ñ˜¨*Ô5Ø×ÑÔØ�
‰
×Ñ˜Õr   c                 óä   — | j                   j                  d«      j                  d«      }| j                  d«       | j	                  dd|dz
  z  |dk  rdndz   |z   «       | j                  «        y )NÚ/i/  ÚLocationz../r   z./r   )ÚpathÚrstripÚcountr:   r;   r>   )r4   ÚancoraÚprofundidades      r   Ú_voltarzPainel._voltar1   sk   € à—y‘y×'Ñ'¨Ó,×2Ñ2°3Ó7ˆØ×Ñ˜3ÔØ×Ñ˜ U¨l¸QÑ.>Ñ%?È<Ð[\ÒK\Á4ÐbdÑ%eÐhnÑ%nÔoØ×ÑÕr   c                 óî   — t         j                  j                  | j                  «      j                  dvr| j	                  dd«      S | j	                  t        j                  t        «       d¬«      «       y )N)rF   r   u   nÃ£o encontradoi”  T)Úeditavel)ÚurllibÚparseÚurlparserH   rD   r   Úrenderr	   )r4   s    r   Údo_GETzPainel.do_GET8   sP   € Ü�<‰<× Ñ  §¡Ó+×0Ñ0¸	ÑAØ—:‘:Ð/°Ó5Ð5Ø�
‰
”9×#Ñ#¤F£H°tÔ<Õ=r   c                 óX  — t        | j                  j                  d«      xs d«      }t        j                  j                  | j                  j                  |«      j                  «       «      j                  «       D ��ci c]  \  }}||d   “Œ }}}| j                  j                  d«      D �cg c]  }|sŒ|‘Œ	 }}t        5  t        «       }d}|d d dgk(  rwt        |«      dk(  ri|d   j                  «       rVt        |d   «      }	|j                  d	d
«      }
|
d
k(  rt!        ||	|«       n|
t"        v rt%        ||	fi t"        |
   ¤Ž d|	› �}�n}|dgk(  r°|j                  d«      rŸdd l}|j                  d«      xs d}t)        |«      }t+        |||d   j-                  «       d|j                  d«      xs d |j                  d«      xs d |dk(  r|nd |dk(  rd n|dd|j/                  «       j0                  ddœ«      }	d|	› �}nÇ|dgk(  rR|j                  dd«      j-                  «       r2t3        j4                  ||d   «       t3        j6                  |d„ ¬«       not        |«      dk(  rF|d   dk(  r>|d   dk(  r6|d   j                  «       r#t3        j8                  |t        |d   «      «       n| j;                  dd«      cd d d «       S t=        j>                  |d „ ¬«       tA        jB                  |«       d d d «       | jE                  «       y c c}}w c c}w # 1 sw Y   Œ&xY w)!Nr8   r   éÿÿÿÿrF   r   r   Úitemé   ÚacaoÚsalvarz#iÚnovor   r   r   r   r   r   r   r(   Úmanualzadicionado pelo painel)r   r   r!   r   r   r   r    r)   ÚorigemÚ
origem_refÚ	evidenciaÚpreferenciaÚtextoc                   ó   — y r2   r3   ©Ú_s    r   Ú<lambda>z Painel.do_POST.<locals>.<lambda>Y   s   € ¸r   )Úlogé   Úremoveru   requisiÃ§Ã£o invÃ¡lidai�  c                   ó   — y r2   r3   rc   s    r   re   z Painel.do_POST.<locals>.<lambda>^   s   € ¸r   )#ÚintÚheadersr   rP   rQ   Úparse_qsÚrfileÚreadÚdecodeÚitemsrH   ÚsplitÚ_travar	   r=   Úisdigitr%   ÚACOESr
   Úuuidr   r   r   Úuuid4Úhexr   Ú	adicionarÚaplicarrh   rD   r   Úsincronizarr   ÚgerarrM   )r4   ÚtamanhoÚkÚvr   ÚpÚpartesr"   rK   r#   rY   ru   r   r$   s                 r   Údo_POSTzPainel.do_POST=   sÍ  € Ü�d—l‘l×&Ñ&Ð'7Ó8Ò=¸AÓ>ˆÜ%+§\¡\×%:Ñ%:¸4¿:¹:¿?¹?È7Ó;S×;ZÑ;ZÓ;\Ó%]×%cÑ%cÔ%eÔfÑ%e™T˜Q ��1�R‘5‘Ð%eˆÑfØ!ŸY™YŸ_™_¨SÔ1Ó7Ñ1˜²Q’!Ð1ˆÐ7ÞÜ“(ˆCØˆFØ�b�qˆz˜f˜XÒ%¬#¨f«+¸Ò*:¸vÀa¹y×?PÑ?PÔ?RÜ˜& ™)“n�Ø—x‘x ¨Ó1�Ø˜8Ò#Ü˜C  dÕ+ØœU‘]Ü" 3¨Ñ;¬u°T©{Ò;Ø˜c˜U˜’Ø˜F˜8Ò#¨¯©°Ô(:ÛØ—x‘x Ó'Ò3¨8�Ü$ TÓ*�Ü! #°ÀÀXÁ×@TÑ@TÓ@VÐbjØ59·X±X¸kÓ5JÒ5RÈdÐ_c×_gÑ_gÐhqÓ_rÒ_zÐvzØ<@ÀMÒ<Q±&ÐW[Ø9=ÀÒ9N±ÐTZÐilØ2:È$Ï*É*Ë,×JZÑJZØ5Mñ(Oó P�ð ˜c˜U˜‘Ø˜M˜?Ò*¨t¯x©x¸ÀÓ/D×/JÑ/JÔ/LÜ×&Ñ& s¨D°©MÔ:Ü×$Ñ$ S©oÖ>Ü�V“ Ò! f¨Q¡i°=Ò&@ÀVÈAÁYÐR[ÒE[Ð`fÐghÑ`i×`qÑ`qÔ`sÜ×$Ñ$ S¬#¨f°Q©i«.Õ9à—z‘zÐ":¸CÓ@÷9 ‰Vô: ×#Ñ# C©_Õ=Ü�O‰O˜CÔ ÷= ð> 	�‰�VÕùóC gùÚ7ßˆVús%   Â LÂ0LÂ8LÃH L Ë-L Ì L)N)éÈ   )r   )Ú__name__Ú
__module__Ú__qualname__r6   rD   rM   rT   r�   r3   r   r   r0   r0   $   s   „ òó óò>ó
#r   r0   c                  óL   — t        dt        ft        «      j                  «        y )Nz	127.0.0.1)r   ÚPORTAr0   Úserve_foreverr3   r   r   Úmainr‰   c   s   € Ü˜¤eÐ,¬fÓ5×CÑCÕEr   Ú__main__)Ú__doc__Ú	threadingÚurllib.parserP   Úhttp.serverr   r   r   r   r   r   Úbancor	   r
   r   r‡   ÚLockrr   r   r%   rt   r0   r‰   rƒ   r3   r   r   Ú<module>r‘      s•   ðÙ nÛ Û ß Cç 2Ñ 2ß 6Ñ 6à€Ø	ˆ�‰Ó	€òAò
$ð ˜;Ð'Ø˜LÐ)Ø(Ð7]Ñ^Ø˜(Ð#Ø$°3Ñ7ñ	€ô<Ð#ô <ò~Fð ˆzÒÙ…Fð r   