Beispiel #1
0
 def displayTime(self):
     '''affiche temps et  update progress bar'''
     self.value = time.time()
     self.strValue.set("{0} / {1} (min)".format(Util.secToms(self.value- self.debuttime),\
                       Util.secToms(self.duree)))
     self["value"] = ((self.value - self.debuttime) /
                      self.duree) * 100  #pourcentage du temps ecoule
     #self.progress.update()
     if self.value < self.maxtime and not self.ordreStop:
         # read more bytes after 300 ms
         self.after(300, self.displayTime)
Beispiel #2
0
 def ajouterVideoPL(self, evt):
 
     '''
     methode qui prend la selection video de la liste IHM et l'ajoute en fin de playlist de l'IHM
     '''
     
 # get the line's text
     listWidget = self.bibliIHM.getId('listVideos')  
     plIHM = self.bibliIHM.getId('listPlL5C3')
     duree = self.bibliIHM.getId('entryDureePL').get() #la duree de la PL est la somme  des durees des videos
     dureeEnSecondes = int(Util.minTosec(duree))
     
     videosIHM = self._getCurrentVideoBibli(oneSelectionOnly=False)
     for i,selVideoIHM in enumerate(videosIHM): 
         selVideoObj = self.bm.rechercherVideo(selVideoIHM)
     #controler que la video selectionnee n'est pas une pub inactive (couleur yellow3)
         if self.bm.getColor(selVideoObj)=='yellow3':
             raise CineException('PubOutOfDate')
         if selVideoObj.duree ==0:
             raise CineException('VideoDureeZero')
         index = listWidget.curselection()[i]
         bgVideo = listWidget.itemcget(index, "bg") #permet de recopier l'attribut couleur sur la PL
         plIHM.insert(tk.END, selVideoIHM)
         plIHM.itemconfig(tk.END, bg=bgVideo)
         #mettre a jour la duree PL
         dureeEnSecondes += selVideoObj.duree
     self.__setChampDisabledValue('entryDureePL', Util.secToms(dureeEnSecondes))
Beispiel #3
0
 def supprimerVideoPL(self, playlistIHM):
 
     '''
     methode qui supprime la selection courante de la playlist
     p1: evt touche suppr
     p2, playlistIHM
    
     '''
     
     if playlistIHM.curselection():
         #au moins un element dans la liste
         #on actualise la duree pl en soustrayant la duree de la video supprimee
         if playlistIHM.size() ==1:
             #on supprime la derniere video donc on remet a blanc
             self.__setChampDisabledValue('entryDureePL', '')
         else:
             index = playlistIHM.curselection()[0]
     # il faut calculer la nouvelle duree en soustrayant
             selVideoIHM = playlistIHM.get(index)
             try:
                 selVideoObj = self.bm.rechercherVideo(selVideoIHM)
                 duree = self.bibliIHM.getId('entryDureePL').get()
                 dureeEnSecondes = int(Util.minTosec(duree))
                 dureeEnSecondes -= selVideoObj.duree
                 self.__setChampDisabledValue('entryDureePL', Util.secToms(dureeEnSecondes))
             except CineException:
                 #Cas anormal ou l'objet video n'a pas ete trouve
                 #on ne bloque pas mais on affiche juste un message
                 print ('probleme de recherche video obj')    
         playlistIHM.delete(playlistIHM.curselection()[0])
Beispiel #4
0
 def chargerPL(self, pnomPL=None):
     '''
     p1 si à l'init de l'ihm pour charger la playlist du jour
     methode qui ouvre une boite dialogue pour selectionner fichier playlist
     remplit les widgets afferent à la playlist à partir de l'objet modele playlist
     '''
     repPL=Util.configValue('commun', 'repertoirePL')
     if pnomPL:
         nomficPL=repPL+pnomPL
     else:    #boite de dialogue selection de fichier .obj
         nomficPL = askopenfilename(title="Ouvrir le fichier playlist:", initialdir=repPL, \
             filetypes = [("Fichiers Playlist","*.obj")]) 
     if len(nomficPL) > 0:
         plAChargee = self.pm.load(nomficPL)
         #charger les zones de la pl
         (nomFilm, date, heure) = self.pm.calculerNomIHMPL(plAChargee)
         entryDate=self.bibliIHM.getId('dateDiffu')
         entryDate.delete(0, tk.END)
         entryDate.insert(0,date+heure)
         entryVideoPL = self.bibliIHM.getId('entryVideoPL')
         self.__setChampDisabledValue('entryVideoPL', nomFilm)
         playlistIHM = self.bibliIHM.getId('listPlL5C3')
         self.viderPL(playlistIHM)
         #ajouter les videos PlayList
         dureePL=0
         for video in plAChargee.videos:
             playlistIHM.insert(tk.END, video.getNom())
             playlistIHM.itemconfig(tk.END, bg=self.bm.getColor(video))
             dureePL+=video.duree
         
         self.__setChampDisabledValue('entryDureePL', Util.secToms(dureePL))
         
         #charger la frame affiche film
         oeuvre = None
         if entryVideoPL.get():
             #si le champ est renseigne alors l'oeuvre fait obligatoirement partie du fichier serialise
             baPL = self.bm.rechercherVideo(entryVideoPL.get()) #la video est forcement de type BA
             oeuvre = baPL.oeuvreCinema
             #on teste au cas ou
             if oeuvre:
                 self._majAfficheOeuvreCinema(oeuvre)     
         else:
             '''on peut rechercher affiche uniquement avec date et heure pl'''
             oeuvre = self.__calculerOeuvreFilmWeb()