
    Og!                        d dl mZ d dlmZ d dlmZ d dlmZ  G d dej                  Z	 G d dej                  Z
 G d	 d
ej                  Z G d dej                  Z G d dej                  Z G d dej                  ZdS )    )models)Image)BytesIO)ContentFilec                        e Zd Z ej        dd          Z ej        dd          Z ej        dd          Z ej        dd          Z G d d          Z	d	 Z
 fd
Z xZS )LandingContentzlanding_pic.webplanding_assetsdefault	upload_tozbanner_img1.webpzbanner_img2.webpzbanner_img3.webpc                       e Zd ZdZdZdS )LandingContent.MetazLanding Page ContentzLanding Page ContentsN__name__
__module____qualname__verbose_nameverbose_name_plural     uC:\Users\georg\OneDrive\Desktop\Paragon Services\Paragon Pixels\Clients\MEDRC\Website - dev\medrc_site\info\models.pyMetar      s        -5r   r   c                     dS )NzLanding Page Imageryr   selfs    r   __str__zLandingContent.__str__   s    %%r   c                 h    t                      j        |i | d}g d}|D ]}t          | |          }|rzt          |d          rjt	          j        |j                  }|j        |d         k    s|j        |d         k    r/|	                    |           |                    |j                   d S )N  r   )landing_imagefirst_bannersecond_bannerthird_bannerpath   r   
supersavegetattrhasattrr   openr$   heightwidth	thumbnail	r   argskwargsmax_sizeimage_fields
field_nameimage_fieldimg	__class__s	           r   r(   zLandingContent.save   s    d%f%%%   ZYY& 	/ 	/J!$
33K /w{F;; /j!122:++sy8A;/F/FMM(+++HH[-...	/ 	/r   )r   r   r   r   
ImageFieldr    r!   r"   r#   r   r   r(   __classcell__r7   s   @r   r   r      s        %F%.@L\]]]M$6$-?K[\\\L%F%.@L\]]]M$6$-?K[\\\L6 6 6 6 6 6 6 6& & &/ / / / / / / / /r   r   c                   J    e Zd Z ej                    Z ej        dd          Z ej        dd          Z ej                    Z	 ej        dd          Z
 ej                    Z ej        dd          Z ej        d          Z G d d	          Zd
 Z fdZ xZS )AboutContentzabout_what_pic.webpabout_assetsr
   zcd_image.webpzbanner.webpF)r   c                       e Zd ZdZdZdS )AboutContent.MetazAbout Us Page ContentNr   r   r   r   r   r?   1   s        .5r   r   c                     dS )NzAbout Page Content + Imageryr   r   s    r   r   zAboutContent.__str__5   s    --r   c                 h    t                      j        |i | d}g d}|D ]}t          | |          }|rzt          |d          rjt	          j        |j                  }|j        |d         k    s|j        |d         k    r/|	                    |           |                    |j                   d S )Nr   )whatWeDo_picture
cd_picturewhoWeAre_banner
ec_picturer$   r%   r   r&   r/   s	           r   r(   zAboutContent.save8   s    d%f%%%   [ZZ& 	/ 	/J!$
33K /w{F;; /j!122:++sy8A;/F/FMM(+++HH[-...	/ 	/r   )r   r   r   r   	TextFieldwhatWeDo_contentr8   rB   rC   
cd_messagerD   
ec_contentrE   BooleanFieldec_showr   r   r(   r9   r:   s   @r   r<   r<   '   s       'v'))(v(1FR`aaa""?nUUUJ!!##J'f'XXXO!!##J""=NSSSJ!f!%000G6 6 6 6 6 6 6 6. . ./ / / / / / / / /r   r<   c                   F    e Zd Z ej        dd          Z ej                    Z ej        dd          Z ej                    Z	 ej        dd          Z
 ej                    Z ej        dd          Z ej                    Z G d d          Zd	 Z fd
Z xZS )WaterContentzwater_banner.webp
WEP_assetsr
   ztraining_banner.webpzapplied_research_banner.webpzfellowships_picture.webpc                       e Zd ZdZdZdS )WaterContent.MetazWater Pages ContentNr   r   r   r   r   rP   U           ,3r   r   c                     dS )NzWater Pages + Imageryr   r   s    r   r   zWaterContent.__str__Y       &&r   c                 h    t                      j        |i | d}g d}|D ]}t          | |          }|rzt          |d          rjt	          j        |j                  }|j        |d         k    s|j        |d         k    r/|	                    |           |                    |j                   d S )Nr   )water_landing_picturetraining_pictureapplied_research_picturefellowships_picturer$   r%   r   r&   r/   s	           r   r(   zWaterContent.save\   s    d%f%%%   xww& 	/ 	/J!$
33K /w{F;; /j!122:++sy8A;/F/FMM(+++HH[-...	/ 	/r   )r   r   r   r   r8   rU   rF   water_landing_contentrV   training_contentrW   applied_research_contentrX   fellowships_contentr   r   r(   r9   r:   s   @r   rM   rM   K   s       -F-6IUabbb,F,..(v(1GS_```'v'))0v09Wcoppp/v/11+&+4NZfggg*&*,,4 4 4 4 4 4 4 4' ' '/ / / / / / / / /r   rM   c                       e Zd Z ej        dd          Z ej                    Z ej        dd          Z ej                    Z	 ej        dd          Z
 ej                    Z G d d          Zd Z fd	Z xZS )
EnvironmentContentzenvironment_banner.webprN   r
   zclimate_banner.webpzWEF_banner.webpc                       e Zd ZdZdZdS )EnvironmentContent.MetazEnvironment Pages ContentNr   r   r   r   r   r`   w   s        29r   r   c                     dS )NzEnvironment Pages + Imageryr   r   s    r   r   zEnvironmentContent.__str__{   s    ,,r   c                 h    t                      j        |i | d}g d}|D ]}t          | |          }|rzt          |d          rjt	          j        |j                  }|j        |d         k    s|j        |d         k    r/|	                    |           |                    |j                   d S )Nr   )env_pictureclimate_change_pictureWEF_picturer$   r%   r   r&   r/   s	           r   r(   zEnvironmentContent.save~   s    d%f%%%   POO& 	/ 	/J!$
33K /w{F;; /j!122:++sy8A;/F/FMM(+++HH[-...	/ 	/r   )r   r   r   r   r8   rc   rF   env_contentrd   climate_change_contentre   WEF_contentr   r   r(   r9   r:   s   @r   r^   r^   o   s        #&#,EQ]^^^K"&"$$K.V.7LXdeee-V-//#&#,=VVVK"&"$$K: : : : : : : :- - -/ / / / / / / / /r   r^   c                       e Zd Z ej        dd          Z ej                    Z ej        dd          Z ej                    Z	 ej        dd          Z
 ej                    Z G d d          Zd Z fd	Z xZS )
PeaceContentzpeace_banner.webprN   r
   zMEDRC_model_banner.webpzhistory_banner.webpc                       e Zd ZdZdZdS )PeaceContent.MetazPeace Pages ContentNr   r   r   r   r   rl      rQ   r   r   c                     dS )NzPeace Pages + Imageryr   r   s    r   r   zPeaceContent.__str__   rS   r   c                 h    t                      j        |i | d}g d}|D ]}t          | |          }|rzt          |d          rjt	          j        |j                  }|j        |d         k    s|j        |d         k    r/|	                    |           |                    |j                   d S )Nr   )peace_pictureMEDRC_model_picturehistory_picturer$   r%   r   r&   r/   s	           r   r(   zPeaceContent.save   s    d%f%%%   SRR& 	/ 	/J!$
33K /w{F;; /j!122:++sy8A;/F/FMM(+++HH[-...	/ 	/r   )r   r   r   r   r8   ro   rF   peace_contentrp   MEDRC_model_contentrq   history_contentr   r   r(   r9   r:   s   @r   rj   rj      s        %F%.A\ZZZM$F$&&M+&+4MYefff*&*,,'f'0EQ]^^^O&f&((O4 4 4 4 4 4 4 4' ' '/ / / / / / / / /r   rj   c                        e Zd ZddddZ ej        dd          Z ej        ded	          Z ej        d
          Z ej	        dd          Z
 ej        d          Z G d d          Zd Z fdZ xZS )PublicationsWaterEnvironmentPeace)rw   rx   ry   d   N)
max_lengthr      )r{   choicesr      )r{   MEDRC_Publicationpublicationsr
   )r   c                       e Zd ZdZdZdS )Publications.MetaPublicationrv   Nr   r   r   r   r   r      s        $,r   r   c                     | j         dz   S )Nz publication)publication_namer   s    r   r   zPublications.__str__   s    $~55r   c                    | j         rt          j        | j                   }t                      }|                    d          }|                    |dd           |                    d           | j         j                            dd          d          d}| j         	                    d	
           t          |                                |          | _          t                      j        |i | d S )NRGBWebPF   )formatqualityr   .r%   z.webpF)r(   )name)publication_coverr   r+   r   convertr(   seekr   rsplitdeleter   readr'   )r   r0   r1   r6   output	webp_namer7   s         r   r(   zPublications.save   s    ! 	P*T344C YYF++e$$CHHVFBH777 KKNNN16==c1EEaHOOOI"))u)555%0Y%O%O%OD"d%f%%%%%r   )r   r   r   OPTIONSr   	CharFieldr   publication_categorypublication_blurb	FileFieldpdfr8   r   r   r   r(   r9   r:   s   @r   rv   rv      s        $ G (v'3EEE+6+r7TXYYY((C888
&
#6.
Q
Q
QC))NCCC- - - - - - - -6 6 6& & & & & & & & &r   rv   N)	django.dbr   PILr   ior   django.core.files.baser   Modelr   r<   rM   r^   rj   rv   r   r   r   <module>r      sd                     . . . . . ./ / / / /V\ / / /@"/ "/ "/ "/ "/6< "/ "/ "/H"/ "/ "/ "/ "/6< "/ "/ "/H /  /  /  /  /  /  /  /D /  /  /  /  /6<  /  /  /D$& $& $& $& $&6< $& $& $& $& $&r   