示例#1
0
    def infosFilm(self, nom):
        db = bdd.Base_de_films()
        IDfilm = QuelID(db, nom)
        f = bdd.Film(IDfilm)

        self.PageInfosFilm = QtWidgets.QWidget()
        self.uiPIF = PageInfosFilm2()
        self.uiPIF.setupUi(self.PageInfosFilm)

        self.uiPIF.Date.setText("Released " + f.release_date)
        if ('NaN' == f.belong_to_collection):
            self.uiPIF.Collection.setText(f.title)
        else:
            self.uiPIF.Collection.setText(f.belong_to_collection['name'][:-11])
        self.uiPIF.Synopsis.setText(f.overview)
        self.uiPIF.Tagline.setText(f.tagline)
        self.uiPIF.Titre.setText(f.title)
        self.uiPIF.Runtime.setText(str(int(f.runtime)) + "min")
        textVotes = "/10 - "
        textVotes = str(f.vote_average) + textVotes + str(
            f.vote_count) + " votes"
        self.uiPIF.Votes.setText(textVotes)
        f.image = bdd.fetch_image(f.poster_path)
        qimage = ImageQt(f.image)
        pixmap = QtGui.QPixmap.fromImage(qimage)
        self.uiPIF.Affiche.setPixmap(pixmap)

        self.PageInfosFilm.show()
示例#2
0
 def trouveFilms(self):
     if (len(self.TitreFilm.text()) > 1):
         db = bdd.Base_de_films()
         requete = "SELECT title FROM metadata WHERE title LIKE '%" + self.TitreFilm.text(
         ) + "%'"
         db.cur.execute(requete)
         liste_noms = db.cur.fetchall()
         self.setTable(liste_noms)
示例#3
0
 def trouveFilms(self):
     if (len(self.ReponseID.text()) > 1):
         db = bdd.Base_de_films()
         requete = "SELECT title FROM metadata WHERE upper(title) LIKE upper('%" + self.ReponseID.text(
         ) + "%')"
         db.cur.execute(requete)
         liste_noms = db.cur.fetchall()
         self.setTable(liste_noms)
示例#4
0
 def afficheFilmCourant(self, nom):
     db = bdd.Base_de_films()
     IDfilm = QuelID(db, nom)
     if (IDfilm != None):
         f = bdd.Film(IDfilm)
         imageC = bdd.fetch_image(f.poster_path, False)
         qimageC = ImageQt(imageC)
         pixmapC = QtGui.QPixmap.fromImage(qimageC)
         return pixmapC
示例#5
0
    def afficheFilmCourant(self):
        db = bdd.Base_de_films()
        IDfilm = QuelID(db, self.ReponseID.text())
        if (IDfilm != None):
            self.CadreFilmCourant.setEnabled(True)

            f = bdd.Film(IDfilm)
            self.TitreFilmCourant.setText(f.title)
            image = bdd.fetch_image(f.poster_path, False)
            qimage = ImageQt(image)
            pixmap = QtGui.QPixmap.fromImage(qimage)

            self.AfficheFilmCourant.setPixmap(pixmap)
示例#6
0
    def ouvertureTrouves(self):
        db = bdd.Base_de_films()
        db.Matrix_DB_fast(full_database=True)
        IDfilm = QuelID(db, self.ReponseID.text())
        liste_de_reco = db.recomandation(IDfilm)

        #On ouvre la page avec les films trouves et on met en forme

        self.PageFilmsTrouves = QtWidgets.QWidget()
        self.uiPFT = PageFilmsTrouves2()
        self.uiPFT.setupUi(self.PageFilmsTrouves)

        f1 = liste_de_reco[0]
        f2 = liste_de_reco[1]
        f3 = liste_de_reco[2]

        self.uiPFT.TitreFilm1.setText(f1.title)
        self.uiPFT.TitreFilm2.setText(f2.title)
        self.uiPFT.TitreFilm3.setText(f3.title)

        self.uiPFT.DateSortie1.setText(f1.release_date)
        self.uiPFT.DateSortie2.setText(f2.release_date)
        self.uiPFT.DateSortie3.setText(f3.release_date)

        f1.image = bdd.fetch_image(f1.poster_path)
        qimage1 = ImageQt(f1.image)
        pixmap1 = QtGui.QPixmap.fromImage(qimage1)
        self.uiPFT.AfficheFilm1.setPixmap(pixmap1)
        f2.image = bdd.fetch_image(f2.poster_path)
        qimage2 = ImageQt(f2.image)
        pixmap2 = QtGui.QPixmap.fromImage(qimage2)
        self.uiPFT.AfficheFilm2.setPixmap(pixmap2)
        f3.image = bdd.fetch_image(f3.poster_path)
        qimage3 = ImageQt(f3.image)
        pixmap3 = QtGui.QPixmap.fromImage(qimage3)
        self.uiPFT.AfficheFilm3.setPixmap(pixmap3)

        #On parametre les fonctionnalites d'information sur les films
        self.uiPFT.Cadre1.clicked.connect(self.infosFilm1)
        self.uiPFT.Cadre2.clicked.connect(self.infosFilm2)
        self.uiPFT.Cadre3.clicked.connect(self.infosFilm3)

        self.uiPFT.Return.clicked.connect(self.PageFilmsTrouves.close)

        self.PageFilmsTrouves.show()
示例#7
0
def main2():
    temps_initial = time.time()

    #test_film_class()

    db = bdd.Base_de_films()
    db.Matrix_DB_fast(full_database=True)

    print(bdd.Film(11))
    print('voici les suggestions de films qui ressemblent au film ci dessus ')

    liste_de_reco = db.recomandation(11)
    for film_recommande in liste_de_reco:
        print(film_recommande)

    temps_total = time.time() - temps_initial
    m, s = divmod(temps_total, 60)
    h, m = divmod(m, 60)
    print("%d:%02d:%02d" % (h, m, s))
    print('test main2 terminé')
    pass
示例#8
0
def main1():
    temps_initial = time.time()

    #test_film_class()

    db = bdd.Base_de_films()
    db.Matrix_DB(full_database=False)

    #print(db.M)
    liste_de_reco = db.recomandation(39467)
    for film_recommande in liste_de_reco:
        print(film_recommande)

    print('sont des films qui ressemblent à ')
    print(bdd.Film(39467))

    temps_total = time.time() - temps_initial
    m, s = divmod(temps_total, 60)
    h, m = divmod(m, 60)
    print("%d:%02d:%02d" % (h, m, s))
    print('test main1 terminé')
    pass
示例#9
0
    def trouveLiens(self):
        db = bdd.Base_de_films()
        A = graphe.retrieve_graph()
        liste_IDfilms = graphe.plus_court_chemin(
            A, QuelID(db, self.TitreFilm1.text()),
            QuelID(db, self.TitreFilm2.text()))
        self.liste_films = []
        for i in range(len(liste_IDfilms)):
            self.liste_films.append(bdd.Film(liste_IDfilms[i]))

        self.PageLiensFilms = QtWidgets.QWidget()
        self.uiPLF = PageLiensFilms2()
        self.uiPLF.setupUi(self.PageLiensFilms)

        self.i = 0

        self.uiPLF.PointDroitFleche.clicked.connect(self.avance)
        self.uiPLF.PointGaucheFleche.clicked.connect(self.recule)
        self.uiPLF.Cadre1.clicked.connect(self.infosFilm1)
        self.uiPLF.Cadre2.clicked.connect(self.infosFilm2)

        self.afficheAffiches()
        self.PageLiensFilms.show()
示例#10
0
print(os.getcwd())
os.chdir('/Users/sachabozou/Desktop/PONTS 2A/TDLOG/Projet/TdLog-master')
import numpy as np
import pandas as pd
import requests
from PIL import Image
from io import BytesIO
import psycopg2
import matplotlib.pyplot as plt

import bdd
from bdd import Film 

import networkx as nx

db=bdd.Base_de_films()


# class Graph:
# 
#     def __init__(self):
#         self.G=nx.Graph()
#         
#     def ajoute_noeud(self,list):
#         self.G.add_nodes_from(list)
#         
#     def ajoute_arrete_rapide(self,M,n):
#         a=0
#         for i in range (0,n):
#             film1=M[i]
#             cast1=eval(M[i][0])