
    ~jU                     L   d dl mZmZ d dlmZ d dlmZmZ d dlZd dlZd dl	Z	 ed      Z
 ed      Z ed      Zej                  dd	       ej                  dd	        ej                  d
      Z G d de      ZddZd Zd Zedk(  r ede      j+                          yy)    )ThreadingHTTPServerSimpleHTTPRequestHandler)Path)datetimetimezoneNz/root/public-htmlzM/root/.openclaw/workspace/projects/construcao-agentes-ia/respostas/submissoeszA/root/.openclaw/workspace/projects/formulario-mae-paulo/respostasT)parentsexist_okz[^a-zA-Z0-9_-]+c                   D     e Zd Z fdZd Z fdZ fdZd Zd Z xZ	S )Handlerc                 B    t        |   |dt        t              i| y )N	directory)super__init__str
PUBLIC_DIR)selfargskwargs	__class__s      &/root/public-html/owl_public_server.pyr   zHandler.__init__   s    $D#j/DVD    c                     | j                   j                  dd      d   j                  d      dk(  rd| _         | j                   j                  dd      d   j                  d      dk(  rd| _         y y )	N?   r   /z/criar-agentez /form-construcao-agente-mvp.htmlz/testepauloz/testepaulo/index.html)pathsplitrstrip)r   s    r   _map_clean_pathszHandler._map_clean_paths   sd    99??3"1%,,S1_D:DI99??3"1%,,S1]B0DI Cr   c                 @    | j                          t        | 	         S N)r   r   do_GETr   r   s    r   r"   zHandler.do_GET   s    w~r   c                 @    | j                          t        | 	         S r!   )r   r   do_HEADr#   s    r   r%   zHandler.do_HEAD   s    w  r   c                 4   t        j                  |d      j                  d      }| j                  |       | j	                  dd       | j	                  dt        t        |                   | j                          | j                  j                  |       y )NF)ensure_asciiutf-8zContent-Typezapplication/json; charset=utf-8Content-Length)
jsondumpsencodesend_responsesend_headerr   lenend_headerswfilewrite)r   codepayloadbodys       r   _jsonzHandler._json!   ss    zz'6==gF4 )JK)3s4y>:

r   c                    | j                   j                  d      }|dvr| j                  dddd      S 	 t        | j                  j                  dd            }|d	k  s|d
kD  r| j                  dddd      S | j                  j                  |      }t        j                  |j                  d            }t        |t              s| j                  dddd      S |dk(  rdnd}|dk(  rt        nt        }t        j!                  dt#        |j                  d      xs |            j%                  d      d d xs |}|j                  d      xs; |j                  d      xs( |j                  d      xs |j                  d      xs d}t        j!                  dt#        |      j'                               j%                  d      d d xs d}	t)        j*                  t,        j.                        j1                  d      }
t3        j4                         j6                  d d }|
 d| d|	 d| }t)        j*                  t,        j.                        j9                         | j                  j                  d      xs | j:                  d	   | j                  j                  d       |d!}|| d"z  }|| d#z  }|j=                  t        j>                  |dd$%      d&       |j=                  tA        ||      d&       | j                  d'd(|d)      S # tB        $ r}| j                  d*dd+d      cY d }~S d }~ww xY w),Nr   >   /api/forms/agent-mvp/api/forms/testepauloi  F	not_found)okerrorr)   0r   i@ i  payload_invalidor(   i  json_invalidor9   
testepaulo	agent-mvp-formId<   nomenome_pessoacomo_chamarrespondentez	mae-paulo2   zsem-nomez%Y%m%dT%H%M%SZ   z	X-Real-IPz
User-Agent)received_at_utc	remote_ip
user_agentdataz.jsonz.md   r'   indent)encoding   T)r;   idi  erro_ao_salvar)"r   r   r6   intheadersgetrfilereadr*   loadsdecode
isinstancedictTESTE_PAULO_STORE_DIRAGENT_STORE_DIR	SAFE_FORMsubr   striplowerr   nowr   utcstrftimeuuiduuid4hex	isoformatclient_address
write_textr+   to_markdown	Exception)r   r   lengthrawrN   default_form_id	store_dirform_idpessoapessoa_slugtsridbaserecord	json_pathtxt_pathes                    r   do_POSTzHandler.do_POST)   s   yy$HH::c%+#FGG	M))*:C@AF{fw.zz#e>P'QRR**//&)C::cjj12DdD)zz#eo'NOO.26M.MlS^O159P1P-VeImmCTXXh-?-R?)STZZ[^_`cacdwhwGXXf%  F-)@  FDHH]D[  F_c_g_ghu_v  F  {FF#--S[->->-@AGGLSbQ_U_Khll+445EFB**,""2A&CT7)1[M3%8D $,<<#=#G#G#I!\\--k:Td>Q>QRS>T"ll..|<	F "tfEN2I dV3</H  Fq!Q\c dFG <wO::c$d#;<< 	M::c%:J#KLL	Ms,   AL :A#L H6L 	L=L82L=8L=)
__name__
__module____qualname__r   r   r"   r%   r6   r~   __classcell__)r   s   @r   r   r      s#    E1 !"Mr   r   c                 4   | j                  di       }t        |      j                  d      rt        |       S ddd| j                  d       d| j                  d       dg}g d	}|D ]}  \  }}|j                  |      }t	        |t
              rd
j                  d |D              }|sBt        |      j                         s\|d| t        |      j                         dgz  } |ddt        j                  |dd      ddgz  }d
j                  |      S )NrN   r@   u7   # Submissão — Formulário Construção de Agente MVP Recebido em UTC: rK   IP: rL   ))NomerE   )zComo chamarrG   )zCidade/fusocidade)Canalcanal)u   Quem é / contextoperfil)u   Comunicação preferidacomunicacao)zO que irrita
irritacoes)u   Projetos/áreasprojetos)zPessoas importantespessoas)zAjuda esperadaajuda)zAutonomia permitida	autonomia)zSempre perguntar antesconfirmacao)zPrivacidade / cuidadoprivacidade)Proatividadeproatividade)zEstilo do agenteestilo)zNunca deve fazernunca
c              3   Z   K   | ]#  }t        |      j                         sd |  % ywz- Nr   rc   .0xs     r   	<genexpr>zto_markdown.<locals>.<genexpr>c   s"     DSV\\^bHD   +
+## ## JSON bruto```jsonFrO   rP   ```)
rX   r   
startswithto_markdown_testepaulor]   listjoinrc   r*   r+   )rz   rt   dlineslabelslabelkeyvals           r   rn   rn   M   s   

62A
7||,%f--A

FJJ'89:;
vzz+&'(
EF  ;
seeCjc4 ))DcDDC3s8>>#E7mSX^^%5r::E; 
oy$**QUST*UW\^`aaE99Ur   c                     t        | t              rdj                  d | D              S t        | t              rt	        j
                  | dd      S t        |       j                         S )Nr   c              3   Z   K   | ]#  }t        |      j                         sd |  % ywr   r   r   s     r   r   zrender_value.<locals>.<genexpr>k   s"     Aa#a&,,.2aSAr   FrO   rP   )r]   r   r   r^   r*   r+   r   rc   )r   s    r   render_valuer   i   sO    #tyyA3AAA#tzz#E!<<s8>>r   c                 b   | j                  di       }ddd| j                  d       d| j                  d       dg}g d}|D ]9  \  }}|j                  |      }|t        |      s&|d	| t        |      dgz  }; |d
dt        j                  |dd      ddgz  }dj	                  |      S )NrN   u*   # Submissão — Formulário mãe do Paulor   r   rK   r   rL   ))zIndicadores observadosindicadores_observados)u   O que mais chama atençãohabilidades_observacao)u   Áreas de maior destaqueareas_destaque)u   Outra área
outra_area)u   Tipo de gestaçãotipo_gestacao)u   Intercorrências da gestaçãointercorrencias_gestacao)u%   Outras intercorrências da gestaçãooutras_intercorrencias_gestacao)u   Semanas de gestaçãosemanas_gestacao)zTipo de parto
tipo_parto)u    Intercorrências durante o partointercorrencias_parto)zPeso ao nascerpeso_nascer)u   Amamentaçãoamamentacao)zMarcos do desenvolvimentomarcos_desenvolvimento)zNunca engatinhoununca_engatinhou)zMarcos perdidos ou regredidosmarcos_regredidos)u   Histórico escolarhistorico_escolar)zDesempenho geraldesempenho_geral)u#   Preocupação da escola/professorespreocupacao_escola)u!   Detalhes da preocupação escolarpreocupacao_escola_detalhes)u   Condições na famíliacondicoes_familia)zDetalhamento familiardetalhamento_familiar)zComportamento em casacomportamento_casa)Sonosono)zSeletividade alimentarseletividade_alimentarr   r   r   FrO   rP   r   r   )rX   r   r*   r+   r   )rz   r   r   r   r   r   r   s          r   r   r   p   s    

62A4

FJJ'89:;
vzz+&'(
EF4  <
seeCj?|C0E7m\#%6;;E< 
oy$**QUST*UW\^`aaE99Ur   __main__)z0.0.0.0i="  )rA   )http.serverr   r   pathlibr   r   r   r*   rerh   r   r`   r_   mkdircompilera   r   rn   r   r   r   serve_forever r   r   <module>r      s    E  '  %&
fg`a    dT  2   D4  8BJJ)*	<M& <M|8(T z)73AAC r   