o
    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r-| 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 )NPOSTemail	journeyidFonline    subidnamer   z
index.html)entriesstickpageLandingpage)r   )methodr   moJourneyEntryobjectsallorder_byexclude	Subsribercreater   Pagesget)requestr   argspages r)   */var/www/html/os4al_web/main/os4l/views.pyindex   s   

r+   c                 C   .   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(      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   kollabr   )	r   Teamr   r   r    r!   Kooperationr   r   )r&   r'   cor   r)   r)   r*   about-   s   r7   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
   r:   c                 C   s   | j dkr+| 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 )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   

r;   c                 C   r,   )Nr   Fr   zsubscribe.htmlr   r-   r.   r)   r)   r*   	subscribeO   r0   r<   c                 C   s   | j dkrQ| 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 sGw   Y  t	| dS t	| dS )Nr   answers,*r   r   )	stichtypesize   )indentzsample.jsonwzsimulator.html)
r   r   splitrangelenjsondumpsopenwriter   )r&   datai
dictionaryjson_objectoutfiler)   r)   r*   	simulatorT   s    




rQ   c                 C   r,   )Nz-idFr   z	care.htmlr   )r   Carer   r   r    r!   r   )r&   r'   r)   r)   r*   careq   r0   rS   c                 C   s>   | j dkr| jjd }tjjj|d}t| dd|iS tdS )NGETTitle)slugzcontent.htmlr   z
That Sucks)r   rT   r%   r   rR   r   r   r   )r&   rU   r'   r)   r)   r*   contentw   s
   
rW   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 )NrT   mailr   r>   yay)r   rT   rE   save_report
create_pdftlsr   )r&   rX   adressr)   r)   r*   rX      s   


rX   c                 C   s   | j dkri| jd }|dd  }|d d }|d}t| d}t}t|D ]
}| r2|d7 }q(|d }t|}|	ddd	 }t
t| d
}|| |  t
td d	 d
}|| |  tdS tdS )NrT   reportr   rY   r>   r      zz.jsonrD   000000rZ   zsomething went wrong)r   rT   rE   r[   linkosscandiris_filestrrjustrJ   rK   closer   )r&   rW   rL   countdir_pathpathr   fr)   r)   r*   r_      s.   




r_   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   surnamer`   r   rY   //var/www/html/os4al_web/main/report/reports.csvF)r+   )r   r"   r   r#   rF   appendpoprG   rg   pdread_csvlocto_csv)rL   r_   rM   garmentscsvr)   r)   r*   r[      s   "

r[   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 sCw   Y  t| |	dd|	  || |
 }t }t||$}|  |j|d |  ||| |||| W d    d S 1 sw   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
   rJ   r   set_payloadreadr   encode_base64
add_header	as_stringsslcreate_default_contextsmtplibSMTPehlostarttlsloginsendmail)r^   portsmtp_serversender_emailreceiver_emailpasswordsubjectbodymessagefilename
attachmentparttextr   serverr)   r)   r*   r]      s@   


"r]   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r't|d }nd}t| d }t| d	 }g }g }g }g }g }	d}
t|  | d
 }|d}d|d  |d< tt	|D ]}|| dd ||< q\t| d D ]*}|
|d|
   |
|d|
   |
|d|
   |
|d|
   |
d }
qod}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 ]i}|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 )(Nrq   rY   rn   r   nanz 'sYourrB      r`   r>   r   r   ro      
      9   f   #   Pmmg      @Arial)rA   B)rA   style C)txtborderalignlnzWool Reportz)*****************************************BU)r   rA   z	Wool usedz gramszWool donatedzonesheepforalifetime.comr~   )rt   ru   iloctolistprinttyperg   rE   rF   rG   rr   r   add_pageset_marginsset_fontcelloutput)rL   r   debug	used_woolleftover_woolg_titleg_usedyg_stich	g_tensiong_imagexrx   rM   hshpwidthimage_widthheightpdffpathr)   r)   r*   r\     s   


r\   )-django.shortcutsr   os4l.modelsmodelsr   django.httpr   rH   rd   django.utils.translationr   _r   r   pandasrt   r   r   r   r   email.mime.baser   email.mime.multipartr	   email.mime.textr
   fpdfr   r   r+   r/   r7   r:   r;   r<   rQ   rS   rW   rc   rX   r_   r[   r]   r   r\   r)   r)   r)   r*   <module>   s<    	 ;