# -*- coding:utf-8 -*-

__projet__ = "Corrections"
__nom_fichier__ = "photo"
__author__ = "Christine Fay-Varnier"
__date__ = "avril 2023"

from date import *
from support import *

class Photo:
    """ modelise des photos """
    
    def __init__(self, auteur, date, nbpixelsL, nbpixelsH, motscles, licence="CC BY-NC-SA"):
        """ nbpixelsL : nombrede pixels en largeur
            nbpixelsH : nombre de pixels en hauteur """
            
        self.auteur_ = auteur
        self.date_ = date
        self.nbpixelsL_ = nbpixelsL
        self.nbpixelsH_ = nbpixelsH
        self.motscle_ = motscles
        self.licence_ = licence

    def __repr__(self):
        return "Photo de : " + self.auteur_ + "\nprise de vue le : " + str(self.date_) + "\nLicence d'utilisation : " + self.licence_
        
    def calcule_dimensions(self, support):
        """

        :param support: support sur lequel la photo apparaît : écran ordinateur, appareil photo, tirage photo, etc.
        :return:        calcul les dimensions de l'image selon le support sur lequel elle apparait
        """

        # la taille de l'image dépend de la résolution du support
        hauteur = self.nbpixelsH_ / support.resolution_
        largeur = self.nbpixelsL_ / support.resolution_
        
        return hauteur*2.54, largeur*2.54   # passage de pouces en cm

if __name__ == '__main__':
    date = Date(13, 2, 2022)
    photo = Photo("Toto", date, 3872, 2592, ["paysage", "montagne", "neige", "ski"])
    print(photo)

    mon_ecran = Support("ecran_de_mon_ordi", 94)
    print(photo.calcule_dimensions(mon_ecran))

    feuille = Support("feuille", 300)
    print(photo.calcule_dimensions(feuille))

    photo2 = Photo("Toto", date, 800, 600, ["mer", "plage", "bateau"], "CC BY-ND")
    print(photo2)

    mon_ecran = Support("ecran_de_mon_ordi", 94)
    print(photo2.calcule_dimensions(mon_ecran))

    feuille = Support("feuille", 300)
    print(photo2.calcule_dimensions(feuille))
