]> code.delx.au - notipod/blobdiff - notipod_gui.py
Ignore tracks not in the library
[notipod] / notipod_gui.py
index d37350e70eaf0f810bad1c73467c2c28d1603beb..11c6880a86604a493a22d27dca616e220d228ce6 100644 (file)
@@ -267,7 +267,9 @@ class NotiPodController(NSObject):
 
                all_filenames = []
                for trackID in all_tracks:
-                       all_filenames.append(self.library.get_track_filename(trackID))
+                       f = self.library.get_track_filename(trackID)
+                       if f:
+                               all_filenames.append(f)
 
                gen = libnotipod.sync(
                        dry_run=True,
@@ -308,7 +310,9 @@ class NotiPodController(NSObject):
 
                all_filenames = []
                for trackID in all_tracks:
-                       all_filenames.append(self.library.get_track_filename(trackID))
+                       f = self.library.get_track_filename(trackID)
+                       if f:
+                               all_filenames.append(f)
                        all_playlists.update(self.library.get_track_playlists(trackID))
 
                libnotipod.delete_playlists(dry_run=False, dest=target["folder"])
@@ -319,8 +323,11 @@ class NotiPodController(NSObject):
                                continue
                        tracks = []
                        for trackID in playlist.tracks:
-                               if trackID in all_tracks:
-                                       tracks.append(self.library.get_track_filename(trackID))
+                               if trackID not in all_tracks:
+                                       continue
+                               f = self.library.get_track_filename(trackID)
+                               if f:
+                                       tracks.append(f)
                        if playlist_id not in orig_playlists and len(tracks) < 10:
                                continue
                        libnotipod.export_m3u(