
    W(h                        d dl mZ d dlmZ d dlmZ d dlmZ d dl	Z	d dl
Z
 e            Zd Ze                    d          defd	            Ze                    d
          d             Ze                    d          d             Ze                    d          d             Ze                    d          defd            ZdS )    )	APIRouter)JSONResponse)loads)mappingNc                  T    t          j        dddddt           j        j                  S )N	localhostwahlzUy9n2FPQ7%pM^H3utf8mb4)hostuserpassworddatabasecharsetcursorclass)pymysqlconnectcursors
DictCursor     //var/www/html/reinick/backend/api/map_routes.pyget_connr      s2    ?"O.   r   z/wahl/{jahr}jahrc                    t                      }|                                }|                    dd|  df           |                                }|s|                                 i S |                    d|d         f           |                                }i }|D ]}t          |d                                       d          }|                    d|d         f           d |                                D             }|                    d	|d         f           d
 |                                D             }	|d         |d         |d         ||	d||<   |                                 |S )Nz-SELECT id FROM wahl WHERE bezeichnung LIKE %s%z-SELECT * FROM wahlergebnis WHERE wahl_id = %sidwahlbezirk_id   zASELECT partei, stimmen FROM erststimme WHERE wahlergebnis_id = %sc                 ,    i | ]}|d          |d         S parteistimmenr   .0rs     r   
<dictcomp>z!get_wahldaten.<locals>.<dictcomp>(   s"    BBBa(Qy\BBBr   zBSELECT partei, stimmen FROM zweitstimme WHERE wahlergebnis_id = %sc                 ,    i | ]}|d          |d         S r    r   r#   s     r   r&   z!get_wahldaten.<locals>.<dictcomp>+   s"    CCCq8a	lCCCr   wahlberechtigte	waehlendewahlbeteiligung)Wahlberechtigteu	   WählendeWahlbeteiligungErststimmenZweitstimmen)r   cursorexecutefetchoneclosefetchallstrzfill)
r   conncurr	   
ergebnissedatenewiderstzweits
             r   get_wahldatenr>      sw   ::D
++--C KK?+d+++PPP<<>>D 

	KK?$t*OOOJE 
 
!O$%%++A..WZ[\`ZaYcdddBB3<<>>BBBX[\]a[bZdeeeCCCLLNNCCC  !!23; !23!
 
c

 	JJLLLLr   z/wahlbezirke.geojsonc                     t                      } |                                 }|                    d           |                                }g }|D ]Y}t	          |d         d          }t          |          }d||d         |d         |d         d	d
}|                    |           Z|                                  t          d|d          S )NzSELECT * FROM wahlbezirkgeomThexFeaturer   uwbbezirksnummer)r   UWBWBZNRtypegeometry
propertiesFeatureCollectionrI   features)	r   r/   r0   r3   load_wkbr   appendr2   r   )r6   r7   r9   rN   rowr@   geojson_geomfeatures           r   wahlbezirke_geojsonrT   8   s    ::D
++--CKK*+++LLNNEH ! !F...t}}$$i5z_- 
 
 	    JJLLL#    r   z/demografiec                      t                      } |                                 }|                    d           |                                }|                                  |S )Nz#SELECT * FROM demografie_lor_simple)r   r/   r0   r3   r2   )r6   r7   r9   s      r   demografie_reinickendorfrV   T   sJ    ::D
++--CKK5666LLNNEJJLLLLr   z/lor.geojsonc            	         t                      } |                                 }|                    d           |                                }|                                  g }|D ]l}t          |d         d          }t          |          }|                    d||                    d          |                    d          pdd	d
           md|dS )NzSELECT * FROM lor_regionr@   TrA   rC   raumidname )RAUMIDNAMErH   rL   rM   )	r   r/   r0   r3   r2   rO   r   rP   get)r6   r7   r9   rN   rQ   r@   rR   s          r   lor_geojsonr^   ]   s    ::D
++--CKK*+++LLNNEJJLLLH 
 
F...t}}$''(++-2 
 
 	 	 	 	 $  r   z/demografie/{raumid}rX   c                 4   t                      }|                                }|                    d| f           |                                }|                                 |si S |d         |d         |d         |d         |d         |d         |d         d	S )
Nzv
        SELECT * FROM demografie_lor_simple
        WHERE raumid = %s
        ORDER BY jahr DESC
        LIMIT 1
    rX   r   	einwohnerage_0_18	age_18_65age_65_plusant_auslaender)rX   r   r`   ra   rb   rc   ANT_AUSL)r   r/   r0   r1   r2   )rX   r6   r7   eintrags       r   get_demografie_eintragrg   w   s    ::D
++--CKK 
    llnnGJJLLL 	 (#[)J'[)}-,-  r   )fastapir   fastapi.responsesr   shapely.wkbr   rO   shapely.geometryr   r   jsonrouterr   r]   r4   r>   rT   rV   r^   rg   r   r   r   <module>rn      sf         * * * * * * ) ) ) ) ) ) $ $ $ $ $ $  	   N         D "##  $#6 M   N  2 "##3    $#  r   