def mark_as_favorite(self):
     if self.playlist.get_name(
     ) == Configures.PlaylistFavorite or not self.playlist.length(
     ) or self.currentSourceRow < 0:
         return
     path = self.playlist.get_music_path_at(self.currentSourceRow)
     title = self.playlist.get_music_title_at(self.currentSourceRow)
     if self.playlist.get_name() == Configures.PlaylistOnline:
         musicName = get_full_music_name_from_title(title)
         musicPath = os.path.join(self.downloadDir, musicName)
         musicPathO = os.path.join(Configures.MusicsDir, musicName)
         if not os.path.exists(musicPath) and not os.path.exists(
                 musicPathO):
             QMessageBox.information(self, '提示', '请先下载该歌曲再添加喜欢!')
             return
         if os.path.exists(musicPath):
             path = musicPath
         else:
             path = musicPathO
     elif not os.path.exists(path):
         QMessageBox.information(self, "提示",
                                 "路径'" + "%s" % path + "'无效,无法标记喜欢!")
         return
     playlistTemp = Playlist()
     playlistTemp.fill_list(Configures.PlaylistFavorite)
     if title in self.lovedSongs:
         playlistTemp.remove_item_at(self.lovedSongs.index(title))
         playlistTemp.commit_records()
         self.lovedSongs.remove(title)
         self.favoriteButton.setIcon(QIcon(IconsHub.FavoritesNo))
         self.favoriteButton.setToolTip("收藏")
     else:
         playlistTemp.add_item_from_path(path)
         playlistTemp.commit_records()
         self.lovedSongs.append(title)
         self.favoriteButton.setIcon(QIcon(IconsHub.Favorites))
         self.favoriteButton.setToolTip("取消收藏")
     self.mark_favorite_completed_signal.emit()
 def mark_as_favorite(self):
     if (
         self.playlist.get_name() == Configures.PlaylistFavorite
         or not self.playlist.length()
         or self.currentSourceRow < 0
     ):
         return
     path = self.playlist.get_music_path_at(self.currentSourceRow)
     title = self.playlist.get_music_title_at(self.currentSourceRow)
     if self.playlist.get_name() == Configures.PlaylistOnline:
         musicName = get_full_music_name_from_title(title)
         musicPath = os.path.join(self.downloadDir, musicName)
         musicPathO = os.path.join(Configures.MusicsDir, musicName)
         if not os.path.exists(musicPath) and not os.path.exists(musicPathO):
             QMessageBox.information(self, "提示", "请先下载该歌曲再添加喜欢!")
             return
         if os.path.exists(musicPath):
             path = musicPath
         else:
             path = musicPathO
     elif not os.path.exists(path):
         QMessageBox.information(self, "提示", "路径'" + "%s" % path + "'无效,无法标记喜欢!")
         return
     playlistTemp = Playlist()
     playlistTemp.fill_list(Configures.PlaylistFavorite)
     if title in self.lovedSongs:
         playlistTemp.remove_item_at(self.lovedSongs.index(title))
         playlistTemp.commit_records()
         self.lovedSongs.remove(title)
         self.favoriteButton.setIcon(QIcon(IconsHub.FavoritesNo))
         self.favoriteButton.setToolTip("收藏")
     else:
         playlistTemp.add_item_from_path(path)
         playlistTemp.commit_records()
         self.lovedSongs.append(title)
         self.favoriteButton.setIcon(QIcon(IconsHub.Favorites))
         self.favoriteButton.setToolTip("取消收藏")
     self.mark_favorite_completed_signal.emit()