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))
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])