
     i                         d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  e            Z ed          Ze                    de	           ed
d           ed
d          fdededefd            ZdS )    )	APIRouterRequestQuery)HTMLResponse)Jinja2Templates)engine)textzapp/templates)	directoryz/search)response_class.from)aliastorequest	from_cityto_cityc                 0   t          d          }t          j                    5 }|                    |||d                                                                          }ddd           n# 1 swxY w Y   t                              d| |||d          S )z7
    Recherche de lignes de bus entre deux villes.
    aU  
        SELECT r.id AS route_id,
               r.name AS route_name,
               c.name AS company_name,
               s1.name AS departure_stop,
               s2.name AS arrival_stop
        FROM routes r
        JOIN companies c ON r.company_id = c.id
        JOIN route_stops rs1 ON rs1.route_id = r.id
        JOIN route_stops rs2 ON rs2.route_id = r.id
        JOIN stops s1 ON rs1.stop_id = s1.id
        JOIN stops s2 ON rs2.stop_id = s2.id
        WHERE s1.city_name = :from_city
          AND s2.city_name = :to_city
          AND rs1.sequence < rs2.sequence
        LIMIT 50;
    )r   r   Nzsearch_results.html)r   resultsr   r   )r	   r   connectexecutemappingsall	templatesTemplateResponse)r   r   r   queryconnr   s         &/var/www/findabus/app/routes/search.pysearchr   
   s       	 	E" 
		 eT,,uI'&R&RSS\\^^bbdde e e e e e e e e e e e e e e%%iT[\\  s   >A--A14A1N)fastapir   r   r   fastapi.responsesr   fastapi.templatingr   app.dbr   
sqlalchemyr	   routerr   getstrr        r   <module>r(      s   - - - - - - - - - - * * * * * * . . . . . .            	Oo666	Il33!E#V444%4000 G    43  r'   