
    3*g                     l    d dl Z d dlmZmZmZ ddlmZ d dlZd dlm	Z	 dZ
dZd Zd	 Zd
 Zd Zd Zd Zy)    N)renderredirectget_object_or_404   )Projeto)quote 3d8dccff4c994354a239d91df4427437z'https://api.open-meteo.com/v1/elevationc                 X   	 t        |  d      }d| dt         }t        j                  d|        t	        j
                  |      }|j                  dk(  rr|j                         }d|v rDt        |d         dkD  r3|d   d   d   d	   }t        j                  d
|  d|        |d   |d   fS t        j                  d|         	 yt        j                  d|j                   d|j                          	 y# t        $ r%}t        j                  d|  d|        Y d }~yd }~ww xY w)Nz, Brasilz0https://api.geoapify.com/v1/geocode/search?text=z&apiKey=zURL enviada para Geoapify:    featuresr   geometrycoordinateszCoordenadas obtidas para z: r   u2   Não foram encontradas coordenadas para a cidade: u2   Erro ao acessar a API Geoapify: Código de status . Resposta: zErro ao obter coordenadas para )NN)r   GEOAPIFY_API_KEYlogginginforequestsgetstatus_codejsonlenerrortext	Exception	exception)cidadecidade_formatadaurlresponsedatacoordenadases          &C:\grfgraph\atual\cag\projeto\views.pyobter_coordenadasr$      s\   K F88!45 AAQ@RRZ[kZlm23%89 <<$ 3&==?D T!c$z*:&;a&?":.q1*=mL8;-PQ"1~{1~55 RSYRZ[\  MMNxOcOcNddpqyq~q~p  A  B
   K;F82aSIJJKs$   B-C; 0C; 
/C; ;	D)D$$D)c           	         	 t          d|  d| }t        j                  |      }|j                  dk(  rK|j	                         }d|v r t        |d   t              r|d   d   S |d   S t        j                  d       	 yt        j                  d|j                   d|j                          	 y# t        $ r(}t        j                  d	|  d
| d|        Y d}~yd}~ww xY w)zf
    Usa a API Open-Meteo para obter a altitude com base nas coordenadas de latitude e longitude.
    z
?latitude=z&longitude=r   	elevationr   u2   Não foi possível obter a elevação da resposta.u4   Erro ao acessar a API Open-Meteo: Código de status r   z,Erro ao obter altitude para as coordenadas (z, z): N)OPEN_METEO_API_URLr   r   r   r   
isinstancelistr   r   r   r   r   )latitude	longituder   r   r    r"   s         r#   obter_altituder,   *   s   h#$JxjI;O<<$ 3&==?Dd"/9${:KT/RtK(+iX\]hXiiRS  MMPQYQeQePffrs{  tA  tA  sB  C  D
   hH
RTU^T__bcdbefgghs*   A B0 #B0 (B0 ?/B0 0	C!9CC!c                 ,   | j                   dk(  rz| j                  d   }| j                  d   }t        |      \  }}||t        | dddi      S t	        ||      }t
        j                  j                  |||||      }t        d      S t        | d	      S )
NPOSTnome_projetor   zprojeto/erro.htmlerrou2   Não foi possível obter as coordenadas da cidade.)r/   r   r*   r+   altitudelista_projetoszprojeto/cadastrar_projeto.html)	methodr.   r$   r   r,   r   objectscreater   )requestr/   r   r*   r+   r1   projetos          r#   cadastrar_projetor8   B   s    ~~||N3h' 07) y0'#6Au8vww "(I6 //((% ) 
 ())';<<    c                 \    t         j                  j                         }t        | dd|i      S )Nzprojeto/lista_projetos.htmlprojetos)r   r4   allr   )r6   r;   s     r#   r2   r2   ^   s)    ""$H'8:x:PQQr9   c                 Z    t        t        |      }|j                          t        d      S )Nidr2   )r   r   deleter   r6   
projeto_idr7   s      r#   deletar_projetorC   c   s$    J7GNN$%%r9   c                 B    t        t        |      }t        | dd|i      S )Nr>   zprojeto/detalhes_projeto.htmlr7   )r   r   r   rA   s      r#   detalhes_projetorE   i   s#    J7G':Y<PQQr9   )r   django.shortcutsr   r   r   modelsr   r   requests.utilsr   r   r'   r$   r,   r8   r2   rC   rE    r9   r#   <module>rJ      sE     @ @     6 > >0=8R
&Rr9   