
    Qf^                     b   d dl mZmZmZ d dlmZmZmZ d dlZd dl	m
Z
  ede          Ze                    ddg          d	             Ze                    d
dg          d             Ze                    ddg          d             Ze                    ddg          d             ZdS )    )	Blueprintrequestjsonify)Partners	LocationsImageProcessingResultN)geodesic	routes_bpz/getPartnersGET)methodsc                  <   t           j        } i }|                                 D ]\  }}t          t          |          r|||<    t	          j        di |}|r5t          t          j        |	                                                    dfS t          ddi          dfS )N   errorzpartners not found   )
r   argsitemshasattrr   objectsr   jsonloadsto_json)search_paramsquery_filterkeyvaluepartnerss        (/var/www/html/scrapping/routes/routes.pyget_partnerr   	   s     LM L#))++ & &
U8S!! 	& %L //,//H  =tz("2"2"4"45566;;!5677<<    z/getLocationsc                  <   t           j        } i }|                                 D ]\  }}t          t          |          r|||<    t          j        di |}|r5t          t          j	        |
                                                    dfS t          ddi          dfS )Nr   r   zLocations not foundr   r   )r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   	locationss        r   get_locationr#      s     LM L#))++ & &
U8S!! 	& %L !11L11I  >tz)"3"3"5"56677<<!6788#==r    z/getNearestPartnerLocationsc                  L   t          j        d          } 	 t          t          j                            d                    }t          t          j                            d                    }t          t          j                            d                    }n*# t          t          f$ r t          ddi          dfcY S w xY wg }| D ]E}|d	         }|d
         }t          ||f||f          j
        }||k    rt          j        t          |j                            }	t          j        t          |j                            }
g }g ag a|	rd |	D             a|
rd |
D             at          t           z   }|                    i dt          |j                  d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d|j        d	|j        d
|j        d|ddd|           Gdd|d}t          |          S )NT)fbIsEnabledLatLongDistancer   zOInvalid input. Please provide valid latitude, longitude, and Distance in miles.i  fsLocationLatfsLocationLongfsPartnerIdc                     g | ]j}t          |j                  |j        |j        d k    rdn|j        |j        d k    rdn|j        |j        t          |j                  |j        |j        dd	kS  Nr   )	_idr,   r)   r*   fsLocationNamefiParkingSlots
fdUpdateAt
fdCreateAt__v	stridr,   r)   r*   r1   r2   r3   r4   ).0locations     r   
<listcomp>z'get_nearby_airports.<locals>.<listcomp>N   s     &0 &0 &0  x{++#+#7-5-Cr-I-ITTxOe.6.E.K.KddQYQh&.&=&)(*A&B&B"*"5"*"5
 
&0 &0 &0r    c                     g | ]j}t          |j                  |j        |j        d k    rdn|j        |j        d k    rdn|j        |j        t          |j                  |j        |j        dd	kS r.   r6   )r9   img_datas     r   r;   z'get_nearby_airports.<locals>.<listcomp>\   s     $- $- $-  x{++#+#7-5-Cr-I-ITTxOe.6.E.K.KddQYQh&.&=&)(*A&B&B"*"5"*"5
 
$- $- $-r    r0   fsFirstName
fsLastNamefsEmailfsPhonefsBusinessName	fsAddress	fsCountryfsStatefsCity	fsZipCode
ffDistance	fbIsErrorFzfoLocations z1Nearest partner locations retrieved successfully.)rI   	fsMessager   )r   r   floatr   r   get	TypeError
ValueErrorr   r	   milesr   r7   r8   r   location_data_listcamera_data_listappendr>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r)   r*   )partners_datar&   r'   r(   nearby_airportsairportairport_latairport_londistancelocations_dataimg_processfoLocationsdatas                r   get_nearby_airportsr]   1   s   $4888MzGL$$U++,,W\%%f--..))*5566z" z z z!rsttvyyyyyz O  = =o../S$K+{)CDDJx&.3wz??KKKN/7C
OOTTTKK! 0&0 &0 !/&0 &0 &0"  -$- $- !,$- $- $-  -/??K"" $s7:$w2$ g0$ 7?	$
 7?$ !'"8$ W.$ W.$ 7?$ '.$ W.$  !6$ !'"8$ h$ U$  !$   ( H# D 4==s   BB $CCz	/address/c            	      N   t           j                            d          } t          j        |                                           }|st          ddi          dfS t          j        |           }|j         d|j	         }|j
         d|j         d|j         d|j         d|j         	}t          |           |||j        |j        d	g d
}|D ]E}t          |j                  |j        |j        |j        d}|d                             |           Ft          d|gi          S )Npartners_id)r8   r   zPartner not foundr   r+    z, )Latitude	Longitude)IDNameAddressCoordinatesr:   )
LocationIdLocationNameOccupiedSpotsAvailableSpotsr:   parkings)r   r   rL   r   r   firstr   r   r>   r?   rB   rC   rF   rE   rG   r7   r)   r*   r8   r1   fsoccupied_spotsr2   rR   )r_   rS   rY   namepart_addressrk   r:   parking_infos           r   addressrq      s   ,""=11K$444::<<M <!4566;;&;???N'DD-*BDDD#2  \  \m6M  \  \Q^Qe  \  \ivi~  \  \  CP  CZ  \  \L +%3&57 7  H # 2 2hk**$3%6&5	
 
 	##L1111 J
+,,,r    )flaskr   r   r   models.modelsr   r   r   r   geopy.distancer	   __name__r
   router   r#   r]   rq   r   r    r   <module>rw      s3   - - - - - - - - - - B B B B B B B B B B  # # # # # #Ik8,,	
%11= = 21=& 5'22> > 32>& .@@Q Q A@Qd ug..!- !- /.!- !- !-r    