U
    \ñJa³  ã                   @   st   d dl 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	dd„ Z
dd„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZdS )é    )Úurlopen)ÚGeoDir)ÚBASE_DIRÚ	DATABASESNc                  C   s    d} t | ƒ}| ¡ }| ¡ }|S )NaÙ  https://services3.arcgis.com/T4QMspbfLg3qTGWY/arcgis/rest/services/Current_WildlandFire_Perimeters/FeatureServer/0/query?where=irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'PEND%20OREILLE'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'SPOKANE'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'FERRY'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCity%20%3D%20'STEVENS'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'LINCOLN'&outFields=poly_IncidentName,irwin_POOCounty,irwin_LocalIncidentIdentifier,irwin_IncidentTypeCategory,poly_Acres_AutoCalc,irwin_InitialLatitude,irwin_InitialLongitude,irwin_PercentContained&outSR=4326&f=json)r   ÚreadÚdecode)ÚlinkÚfZmyfileÚs© r   ú6/home/fireinfo/NEWAFireInfo/TRG/Programs/LargeFires.pyÚfetch	   s
    r   c                 C   s²  t d }tj|d |d |d |d |d d}| ¡ }| d¡ tj ¡ }| d	¡}|  d
¡dkrŠ| d|ddddddddddddf¡ |  d
¡dkr¦| |  d¡d d … } | |  d¡d |  d¡…  	¡ }| |  d¡d … } | |  d¡d |  d¡…  	¡ d }| |  d¡d … } | |  d¡d |  d¡… }	| |  d¡d … } | |  d¡d |  d¡… }
| |  d¡d … } t
tt| |  d¡d |  d¡… ƒƒƒ}| |  d¡d … } | |  d¡d |  d¡… }| |  d¡d … } | |  d¡d  |  d¡… }|d | }| |  d!¡d … } | |  d!¡d  |  d"¡… }|d#krBd$}n|d% }| |  d&¡d' |  d(¡d) … }t ||¡}| d||	||
||d|dd|d|f¡ | ¡  qŠ| ¡  d S )*NÚdefaultÚHOSTÚPORTÚNAMEÚUSERÚPASSWORD©ÚhostÚportÚdatabaseÚuserÚpasswordzDELETE FROM nifcallú%m%d%Hz"attributes":éÿÿÿÿz«INSERT INTO nifcall(date, incnum, name, type, acres, location, trs, lat_long, fuels, resources, status, webcomment, innear) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)Ú z"attributes"é   z"poly_IncidentName":é   z",z"irwin_POOCounty":é   z COUNTYz "irwin_LocalIncidentIdentifier":é#   z"irwin_IncidentTypeCategory":é   z"poly_Acres_AutoCalc":é   ú,z"irwin_InitialLatitude":é   z"irwin_InitialLongitude":é   z"irwin_PercentContained":z},Únullz0 PERCENT CONTAINEDz Percent Containedz"rings":[[[é   z]]]é   )r   Úpsycopg2ÚconnectÚcursorÚexecuteÚdatetimeÚnowÚstrftimeÚfindÚupperÚstrÚintÚfloatr   ZpolyÚcommitÚclose)r
   ÚkmllistÚdbstringÚconÚcurÚ	timestampÚtimeÚnameÚlocZincnumZinctypeZacresZlatÚlongZlatlongZwebcomZringsZinnearr   r   r   Úparse   sR    û


& $(
 &
r@   c                  C   sh   t ƒ } g }tj ttƒd ¡}t |¡}tt|ƒƒD ]$}||  	d¡dkr4||| g }q4t
| |ƒ d S )Nz/TRG/Programs/KMLsú.kmlr   )r   ÚosÚpathÚjoinr2   r   ÚlistdirÚrangeÚlenr0   r@   )Úfiler7   Ú	file_pathÚdirlistÚir   r   r   Ú
getnewdataS   s    

rL   c                  C   s  t d } tj| d | d | d | d | d d}| ¡ }| d¡ | ¡ d	 }tj ¡ }| d
¡}t	t
|d d… ƒt
|d d… ƒ ƒdkrŽdS t
|d d… ƒd t
|dd… ƒ d t
|dd … ƒ t
|d d… ƒd t
|dd… ƒ d t
|dd … ƒ  }|S )Nr   r   r   r   r   r   r   zSELECT date FROM nifcallr   r   é   é   Fé   é   r$   )r   r)   r*   r+   r,   Úfetchoner-   r.   r/   Úabsr3   )r8   r9   r:   Ztime1r;   Ztime2Úager   r   r   Úcheckage_   s"    û


(prT   c           	      C   sÎ  g }g }g }t t| ƒƒD ]2}|| | | |  d¡d | |  d¡… g }qt t| ƒƒD ]6}| |  d¡dkrX|| | d | |  d¡… g }qXtd }tj|d |d |d	 |d
 |d d}| ¡ }| d¡ | ¡ }t t|ƒƒD ]à}| d dkrx|d|| d || d || d || d || d || d || d || d || d || d || d dgg }qæ| d dkr|d|| d || d || d || d || d || d || d || d || d || d || d || d gg }qæt t|ƒƒD ]®}|d  || ¡dkrt|ƒd }|d|| d || d || d || d || d || d || d || d || d || d || d || d gg }qqæ|S )NzTA r(   rA   ZAOr   r   r   r   r   r   r   r   z$SELECT * FROM nifcall WHERE name!=''r   Ú0r   rN   rM   rP   é   é   é   é   é	   é
   r'   Ú1r   é   )	rF   rG   r0   r   r)   r*   r+   r,   Úfetchall)	Ú
kmllistreqr7   ÚtempÚnifcrK   r8   r9   r:   Úvaluesr   r   r   Ú
filterdatar   s:    0"û
~†Šrc   c                 C   s0   t ƒ }|dkrtƒ  n|dkr$tƒ  t| ƒ}|S )NTr$   )rT   rL   rc   )r_   ÚoverrideZisvalidcheckra   r   r   r   Úmain–   s    re   )Úurllib.requestr   ÚTRG.Programsr   ZNEWAFireInfo.settingsr   r   rB   r-   r)   r   r@   rL   rT   rc   re   r   r   r   r   Ú<module>   s   8$