+ def loadFromThread(self):
+ pool = NSAutoreleasePool.alloc().init()
+ self.library = libsyncitunes.ITunesLibrary.alloc().init()
+ self.performSelectorOnMainThread_withObject_waitUntilDone_(self.finishLoading, None, True)
+ del pool
+
+ def finishLoading(self):
+ self.playlistModel.setPlaylists(self.library.get_playlists())
+ NSApp.endSheet_(self.loadingSheet)
+ self.loadingSheet.close()
+
+ @objc.IBAction
+ def doSync_(self, sender):
+ folder = self.folders()[0]
+ playlists = [self.library.get_playlist_pid(pid) for pid in self.playlists()]
+
+ all_tracks = []
+ for playlist in playlists:
+ print playlist.name, playlist.tracks
+ all_tracks.extend(playlist.tracks)
+ libsyncitunes.export_m3u(dry_run=True, dest=folder, path_prefix="",
+ playlist_name=playlist.name, files=playlist.tracks)
+
+ libsyncitunes.sync(dry_run=True,
+ source=self.library.folder, dest=folder, files=all_tracks)
+
+