def transformGenres(self):
		printl("->", self, "S")
		for key in self._dbMediaFiles:
			if self._checkKeyValid(key):		# only for Pickle
				transformedGenre = ""
				for genre in self._dbMediaFiles[key].Genres.split("|"):
					if Genres.isGenre(genre) is False:
						newGenre = Genres.getGenre(genre)
						if newGenre != "Unknown":
							printl("GENRE: " + str(genre) + " -> " + str(newGenre), self)
							transformedGenre += newGenre + u"|"
					else:
						transformedGenre += genre + u"|"
				if len(transformedGenre) > 0:
					transformedGenre = transformedGenre[:len(transformedGenre) - 1] # Remove the last pipe
				self._dbMediaFiles[key].Genres = transformedGenre
	def getGenre(self, info, elem):
		genre = u""
		try:
			genreList = elem.getElementsByTagName("categories")
			for genreListItem in genreList:
				for eGenre in genreListItem.getElementsByTagName("category"):
					if eGenre.getAttribute("type") == "genre":
						genre += Genres.getGenre(eGenre.getAttribute("name")) + u"|"
			if len(genre) > 0:
				info.Genres = genre[:len(genre) - 1] # Remove the last pipe
				return info
		except Exception, ex:
			printl("Exception: " + str(ex), self)
예제 #3
0
	def getGenre(self, info, elem):
		try:
			eGenre = self.getElem(elem, "Genre")
			if eGenre is not None and eGenre.data is not None and len(eGenre.data) > 0:
				genres = u""
				strGenre = re.sub(u"\r\n", u" ", eGenre.data)
				strGenre = re.sub(u"\n", u" ", strGenre)
				strGenres = strGenre.split(u"|")
				for genre in strGenres:
					genre = genre.strip()
					if len(genre) > 1:
						genres += Genres.getGenre(genre) + u"|"
				if len(genres) > 1:
					info.Genres = genres[:len(genres) - 1] # Remove the last pipe
					return info
		except Exception, ex:
			printl("Exception: " + str(ex), self)
예제 #4
0
    def readRola(self, song):
        '''Funcion auxiliar que lee las etiquetas de la rola y la envia a la base de datos.'''
        pathRola = self.path + "/" + song
        tags = eyed3.load(pathRola).tag

        if len(tags) == 0:
            return

        rola = Rola.Rola(path)

        if tags.artist != None:
            rola.setPerformer(tags.artist)
        else:
            rola.setPerformer("Unknown")

        if tags.title != None:
            rola.setTitle(tags.title)
        else:
            rola.setTitle("Unknown")

        if tags.album != None:
            rola.setAlbum(album)
        else:
            rola.setAlbum("Unknown")

        if tags.year != 0:
            rola.setYear(int(tags.year))
        else:
            rola.setYear(time.ctime(os.path.getctime(path)))

        if tags.track_num != None:
            track = 0
            if tags.track_num.find("/") != -1:
                trackNum = tags.track_num.split("/")
                track = int(trackNum[0])
            else:
                track = int(tags.track_num)
            rola.setTrack(track)

        if tags.genre != -1:
            genre = Genres.Genres().getStringGenre(tags.genre)
            rola.setGenre(genre)

        Dao.insertRola(rola)
예제 #5
0
 def getGenre(self, info, elem):
     try:
         eGenre = self.getElem(elem, "Genre")
         if eGenre is not None and eGenre.data is not None and len(
                 eGenre.data) > 0:
             genres = u""
             strGenre = re.sub(u"\r\n", u" ", eGenre.data)
             strGenre = re.sub(u"\n", u" ", strGenre)
             strGenres = strGenre.split(u"|")
             for genre in strGenres:
                 genre = genre.strip()
                 if len(genre) > 1:
                     genres += Genres.getGenre(genre) + u"|"
             if len(genres) > 1:
                 info.Genres = genres[:len(genres) -
                                      1]  # Remove the last pipe
                 return info
     except Exception, ex:
         printl("Exception: " + str(ex), self)