a
    Td)                     @   s:  d dl mZ d dlmZ d dlmZ d dlZd dlZd dl	m
Z d dl	mZmZ d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ dd Zdd Zdd Zdd Z dd Z!dd Z"dd Z#dd Z$dd Z%dZ&dd Z'd d! Z(d"d# Z)d$d% Z*G d&d' d'eeZ+d(d) Z,dS )*    )renderN)HttpResponse)gettext)get_languageactivate)encoders)MIMEBase)MIMEMultipart)MIMEText)FPDF	HTMLMixinc                 C   s   | j dkrZ| jd }tjj d}|jdd}tjjj	dd|d t
| d	|||d
S tjj d}|jdd}tjjjdd}t
| d	|||d
S d S )NPOSTemail	journeyidFonline    subidnamer   z
index.html)entriesstickpageZLandingpage)r   )methodr   moJourneyEntryobjectsallorder_byexclude	Subsribercreater   Pagesget)requestr   argspages r(   CC:\Users\maxsc\Google Drive\Desktop\Web\os4l_web\main\os4l\views.pyindex   s    

r*   c                 C   s.   t jj d}|jdd}t| dd|iS )Nr   Fr   zcontact.htmlr   r   r   r   r   r   r    r   r%   r   r(   r(   r)   contact(   s    r-   c                 C   sn   t jj d}|jdd}t jj d}|jdd}t jj d}|jdd}t| d|||dS )NteamidFr   koopidr   z
about.html)r   Zkollabr   )	r   Teamr   r   r   r    Kooperationr   r   )r%   r&   cor   r(   r(   r)   about-   s    r3   c                 C   sN   t jj d}|jdd}t jj d}|jdd}t| d||dS )NfaqidFr   r   zfaq.html)r   r   )r   FAQr   r   r   r    r   r   )r%   r&   r   r(   r(   r)   faq8   s
    r6   c                 C   s   | j dkrV| jd }tjj d}|jdd}tjjj	dd|d t
| d	d
|iS tjj d}|jdd}t
| d	d
|iS d S )Nr   r   r   Fr   r   r   r   z	join.htmlr   )r   r   r   r   r   r   r   r    r!   r"   r   )r%   r   r   r(   r(   r)   join@   s    

r7   c                 C   s.   t jj d}|jdd}t| dd|iS )Nr   Fr   zsubscribe.htmlr   r+   r,   r(   r(   r)   	subscribeO   s    r8   c                 C   s   | j dkr| jd }|d}tt|D ]}|| dkr*d ||< q*|d |d d}tj|dd	}td
d}|| W d    n1 s0    Y  t	| dS t	| dS d S )Nr   Zanswers,*r   r   )Z	stichtypesize   )indentzsample.jsonwzsimulator.html)
r   r   splitrangelenjsondumpsopenwriter   )r%   dataiZ
dictionaryZjson_objectoutfiler(   r(   r)   	simulatorT   s    



(
rI   c                 C   s.   t jj d}|jdd}t| dd|iS )Nz-idFr   z	care.htmlr   )r   Carer   r   r   r    r   )r%   r&   r(   r(   r)   careq   s    rK   c                 C   sB   | j dkr6| jjd }tjjj|d}t| dd|iS tdS d S )NGETTitle)slugzcontent.htmlr   z
That Sucks)r   rL   r$   r   rJ   r   r   r   )r%   rM   r&   r(   r(   r)   contentw   s
    
rO   z)/var/www/html/os4al_web/main/static/json/c                 C   s`   | j dkr\| jd }|dd  }|d d }|d}|d }t| t  t| tdS d S )NrL   mailr   r9   yay)r   rL   r?   save_report
create_pdftlsr   )r%   rP   adressr(   r(   r)   rP      s    


rP   c                 C   s   | j dkr| jd }|dd  }|d d }|d}t| d}t}t|D ]}| rP|d7 }qP|d }t|}|	ddd	 }t
t| d
}|| |  t
td d	 d
}|| |  tdS tdS d S )NrL   reportr   rQ   r9   r      zz.jsonr>   000000rR   zsomething went wrong)r   rL   r?   rS   linkosscandiris_filestrrjustrD   rE   closer   )r%   rO   rF   countZdir_pathpathr   fr(   r(   r)   rW      s,    





rW   c                 C   s   t jjjd| d | d | d d g }tdD ]}|| d  | d q.g }tt| D ]}|| |  q\t|}|dd }|| t	
d}||jt|< |jdd	d
 d S )Nr         )r   r   r   surnamerX   r   rQ   //var/www/html/os4al_web/main/report/reports.csvF)r*   )r   r!   r   r"   r@   appendpoprA   r_   pdread_csvlocZto_csv)rF   rW   rG   garmentscsvr(   r(   r)   rS      s    "

rS   c                 C   s.  d}d}d}| }d}d}d}t  }d|d< ||d	< ||d
< |t|d d}	t|	d(}
tdd}||
  W d    n1 s0    Y  t| |	dd|	  || |
 }t }t||F}|  |j|d |  ||| |||| W d    n1 s 0    Y  d S )NiK  zmail.privateemail.comz contact@onesheepforalifetime.comz
Schaf3gal!zYour Wool Report is ready.aO  Hello dear sheep friend!

We are happy you tried out our Sheep's Wool Simulator :D

Find your personal wool report in the attachment. It gives you an overview of how you set your 1000 grams of sheep's wool to a purpose.

Our platform and tools are still in development, so stay tuned for more ;)

Wooly regards,
the One Sheep Team
    z,One Sheep <contact@onesheepforalifetime.com>FromToSubjectplain+/var/www/html/os4al_web/main/woolreport.pdfrbapplicationzoctet-streamzContent-Dispositionzattachment; filename= )context)r	   attachr
   rD   r   set_payloadreadr   encode_base64
add_header	as_stringsslcreate_default_contextsmtplibSMTPehlostarttlsloginZsendmail)rV   portZsmtp_serverZsender_emailZreceiver_emailpasswordsubjectbodymessagefilename
attachmentparttextrw   serverr(   r(   r)   rU      s<    
,

rU   c                   @   s   e Zd ZdS )PDFN)__name__
__module____qualname__r(   r(   r(   r)   r     s   r   c               	   C   s8  t d} | jd  } | d }t| tt| d}|dkrNt|d }nd}t| d }t| d	 }g }g }g }g }g }	d}
t|  | d
 }|d}d|d  |d< tt	|D ]}|| dd ||< qt| d D ]T}|
|d|
   |
|d|
   |
|d|
   |
|d|
   |
d }
qd}d}d}d}|d }dt	|d  }tdd||f}|  |ddd |jd|d |jd|dd |jddd|ddd |jdd	||ddd |jdd	d|ddd |jd|dd |jdd	d|ddd |jdd	d |ddd |jdd	d|ddd |jdd!|d" |jdd	d#|ddd |jd|d |jdd	|d$ |ddd |jdd	d|ddd |jd|d!d |jdd	d%|ddd |jd|d |jdd	|d$ |ddd |jdd	d|ddd |jd|dd |jdd	d |ddd tt	|D ]}|jdd	d|ddd |jd|dd |jdd	|| |ddd |jd|d |jdd	|| d$ |ddd |jdd	|| |ddd |jdd	|| |ddd |jdd	d|ddd |jdd	d |ddd q.|jddd&|ddd |jd|d d'}|| d S )(Nrh   rQ   re   r   nanz 'sZYourr<      rX   r9   r   r   rf      
      9   f   #   Pmmg      @Arial)r;   B)r;   style C)txtborderalignlnzWool Reportz)*****************************************ZBU)r   r;   z	Wool usedz gramszWool donatedzonesheepforalifetime.comrt   )rk   rl   Ziloctolistprinttyper_   r?   r@   rA   ri   r   Zadd_pageZset_marginsZset_fontcelloutput)rF   r   debugZ	used_woolZleftover_woolZg_titleZg_usedyZg_stichZ	g_tensionZg_imagexrn   rG   hshpwidthZimage_widthheightpdffpathr(   r(   r)   rT     s    


rT   )-Zdjango.shortcutsr   Zos4l.modelsmodelsr   django.httpr   rB   r\   django.utils.translationr   _r   r   pandasrk   r   r   r~   r   email.mime.baser   email.mime.multipartr	   email.mime.textr
   Zfpdfr   r   r*   r-   r3   r6   r7   r8   rI   rK   rO   r[   rP   rW   rS   rU   r   rT   r(   r(   r(   r)   <module>   s:   	 ;