a
    f:                     @   sH   d dl Z d dlmZ d dlZd dlmZmZmZ d dlm	Z	 dd Z
dS )    N)BeautifulSoup)	LocationsPartnersLevel)
send_emailc                  C   s  d} t j| d}|sddiS |D ]}tj|jd}t|j}d}t|}|jdkr|j}t	|d}|
d	d
 }	|	st|  ddi  S g }
|	D ]F}z&|jddj}|dd }|jddjddj}|jddjddj}|jdd}g }|r|j
dd}|D ]z}zX|jddj}|jddjddj}|jddjddj}|||d |d d W n ty   Y qY n0 q|
||d |d |d tjj||d }|rd|d |_|d |_dd |jD }|D ]p}|d }||v r$|| }|d d |_|d d |_n2t||d d |d d t|jd}|j| q|  n^t|||d |d d }|D ]8}t|d |d d |d d |jd}|j| q|  W q ty   Y qY q0 qt|
}|  S dd!i  S q d S )"NzEppley Airfield)ZfsBusinessNamemessagezNo partners found)fsPartnerIdz;https://www.flyoma.com/parking/#1562776791850-cb56232b-3903   zhtml.parserc                 S   s8   | j dko6| do6d| d v o6d| d v o6d| d v S )NZdivclasszvc_col-sm-12Z
wpb_columnzjupiter-donut-)nameZhas_attr)tag r   !/var/www/html/scrapping/flyoma.py<lambda>   s   


zget_json_data.<locals>.<lambda>zData not receivedzparking-bar-block_title)Zclass_:r   z parking-bar-block_info_availablezparking-bar-block_info_datazparking-bar-block_info_occupiedzvc_tta-panelszparking-bar-blockz
 Availablez	 Occupied)TitleAvailable SpotsOccupied Spots)r   r   r   ZLevels)fsLocationNamer   c                 S   s   i | ]}|j |qS r   )title).0levelr   r   r   
<dictcomp>W       z!get_json_data.<locals>.<dictcomp>r   r   r   )r   available_spotsoccupied_spotsZ
parking_id)r   r   fiParkingSlotsfsoccupied_spotsz(Failed to retrieve data from the website)r   Zobjectsr   idstrrequestsgetZstatus_codetextr   Zfind_allr   findsplitappendAttributeErrorfilterfirstr   r   Zfllevelsr   r   r   Zsavejsondumps)	site_nameZpartnersZpartnerZ	locationsZ	partneridZurlZresponseZhtmlZsoupZparent_divsZparking_dataZ
parent_divZp_titler   r   Z	is_vc_ttaZlevelsZparking_levelsr   Zlevel_titleZlevel_available_spotsZlevel_occupied_spotsZexisting_locationZexisting_levelsZ
level_dataZ	new_levelZnew_parkingZ	json_datar   r   r   get_json_data   s    













r,   )r    Zbs4r   r)   Zmodels.modelsr   r   r   Znotifyr   r,   r   r   r   r   <module>   s
   