o
    1gM                     @   st  d dl mZmZmZmZmZmZ d dlmZmZ d dl	m
Z
 d dlZd dlZd dlZd dlmZ d dl mZ eeddd	Zd
e_edde_dZdZdd Zeddd Zeddd Zeddd Zeddd Zeddd Zed d!d" Zejd#d$d%gd&d'd( Z ejd)d$d%gd&d*d+ Z!ed,d-d. Z"ed/kre  ej#d0d1d2d3 dS dS )4    )Flaskrender_templaterequestredirecturl_forsession)datetime	timedelta)check_password_hashN)BytesIO)	send_file	templatesstatic)template_folderstatic_folderweddingrs2025   )minuteszweddingRS.dbzscrypt:32768:8:1$F8U53F3uPKgI0NGM$df3c40b14a91dd751f42374eed15ace85632901a4cb1c9486af667abc6a2a49fc1e822646d817e564cc370b92aeee67b268376433c008dbbf2132c7bdbc8cc43c                  C   sB   t t} | d |   W d    d S 1 sw   Y  d S )Na  
            CREATE TABLE IF NOT EXISTS registrations (
                id INTEGER PRIMARY KEY AUTOINCREMENT,
                first_name TEXT NOT NULL,
                last_name TEXT,
                email TEXT,
                camping BIT,
                vegitarian BIT,
                accommodation TEXT,
                kind_words TEXT,
                timestamp INTEGER DEFAULT (strftime('%s', 'now')) 
            )
        )sqlite3connectDATABASEexecutecommit)conn r   /home/rs/webservers/rs/app.pyinit_db   s   

"r   /c                   C      t dS )Nz	home.htmlr   r   r   r   r   home%      r    z/mobilec                   C   r   )Nzhome_mobile.htmlr   r   r   r   r   home_mobile)   r!   r"   z/locatiec                   C   r   )Nzlocation.htmlr   r   r   r   r   location-   r!   r#   z/fotosc                   C   r   )Nzpictures.htmlr   r   r   r   r   pictures1   r!   r$   z/onzedagc                   C   r   )Nzourday.htmlr   r   r   r   r   ourday5   r!   r%   z/testc                   C   r   )Nztestpage.htmlr   r   r   r   r   test9   r!   r&   z/bevestigingGETPOST)methodsc                  C   s   t jdkrat jd } t jd }t jd }t jdd}t jdd}t jd }|s+d	}t jd
 }|s4d	}tt}|d| ||||||f |  W d    t	dS 1 sXw   Y  t	dS t
dS )Nr(   
first_name	last_nameemailcamping0
vegetarianaddresszniet ingevuld
kind_wordsz
                INSERT INTO registrations (first_name, last_name, email, camping, vegitarian, accommodation, kind_words)
                VALUES (?, ?, ?, ?, ?, ?, ?)
            r   zregistration.html)r   methodformgetr   r   r   r   r   r   r   )r*   r+   r,   r-   
vegitarianaccommodationr1   r   r   r   r   registration>   s,   







r7   z/loginc                  C   sD   t jdkrt jd } tt| rdt_ttdS t	dddS t	dS )Nr(   passwordTadminz
login.htmlzInvalid password)error)
r   r2   r3   r
   ADMIN_PASSWORDr   	permanentr   r   r   )r8   r   r   r   loginW   s   


r=   z/adminc                  C   s   t jdkrott} | d}| }dd |D }W d    n1 s%w   Y  tj	ddkrit
j|g dd}t }t
j|d	d
}|j|dd W d    n1 sWw   Y  |d t|ddddS td|dS ttdS )NTzqSELECT first_name, last_name, email, camping, vegitarian, accommodation, kind_words, timestamp FROM registrationsc           	      S   s^   g | ]+\}}}}}}}}||||d krdnd|d krdnd||t j|tdddfqS )   JaNeezEurope/Brussels)tzz%d-%m-%Y %H:%M:%S)r   fromtimestamppytztimezonestrftime)	.0r*   r+   r,   r-   r5   r6   r1   	timestampr   r   r   
<listcomp>h   s    zadmin.<locals>.<listcomp>exporttrue)z
First Namez	Last NameEmailCamping
VegetarianAccommodationz
Kind Words	Timestamp)columnsopenpyxl)engineF)indexr   zregistrations.xlsxzAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet)as_attachmentdownload_namemimetypez
admin.html)registrationsr=   )r   r<   r   r   r   r   fetchallr   argsr4   pd	DataFramer   ExcelWriterto_excelseekr   r   r   r   )r   cursorrW   dfoutputwriterr   r   r   r9   b   s$   


r9   __main__z::Ti  )hostdebugport)$flaskr   r   r   r   r   r   r   r	   werkzeug.securityr
   r   rC   pandasrZ   ior   r   __name__app
secret_keypermanent_session_lifetimer   r;   r   router    r"   r#   r$   r%   r&   r7   r=   r9   runr   r   r   r   <module>   sH     









'