def _savePlaylist(self): if self.config.playlist: text, ok = QtGui.QInputDialog.getText(self, "Playlist Name", "", QtGui.QLineEdit.Normal, get_random_name()) text = unicode(text) if ok and text != '': conf = tanooki_library.get_or_create_config() conf['playlists'][text] = self.config.playlist[:] tanooki_library.save_config(conf) self._refreshPlaylists()
def from_itunes_to_sg(sg_playlists, itunes): playlists = get_itunes_playlists(itunes) #removing old versions #map(lambda x: x.delete(), [playlist for playlist in playlists if playlist.name in sg_playlists]) for playlist in [p for p in playlists if not p.Name in sg_playlists]: sg_playlists[playlist.Name] = [get_track_location(track) for track in playlist.Tracks if get_track_location(track).endswith('.mp3')] conf = tanooki_library.get_or_create_config() conf['playlists'] = sg_playlists tanooki_library.save_config(conf)
def toggleNotification(self, ischecked): if not ischecked: self.icon.hide() else: self.icon.show() if self.config.playlist: self.updateNowPlaying(self.config.playlist[self.config.idx]) else: self.icon.setIcon(QtGui.QIcon(':/png/media/icon.png')) conf = tanooki_library.get_or_create_config() conf['notification'] = ischecked tanooki_library.save_config(conf)
def sync_playlists(sg_playlists, itunes, only_export=False): it_playlists = get_itunes_playlists(itunes) for it_playlist in it_playlists: it_tracks = [os.path.abspath(get_track_location(t)) for t in it_playlist.Tracks if get_track_location(t).endswith('.mp3')] sg_tracks = [os.path.abspath(t) for t in sg_playlists[it_playlist.Name]] if not only_export: for it_track in [tr for tr in it_tracks if not tr in sg_tracks]: sg_playlists[it_playlist.Name].append(it_track) else: for it_track in [t for t in it_playlist.Tracks if get_track_location(t).endswith('.mp3') and not os.path.abspath(get_track_location(t)) in sg_tracks]: it_track.Delete() for sg_track in [tr for tr in sg_tracks if not tr in it_tracks]: it_playlist = convert_user_playlist(it_playlist) it_playlist.AddFile(sg_track) if not only_export: conf = tanooki_library.get_or_create_config() conf['playlists'] = sg_playlists tanooki_library.save_config(conf)
def export_playlists(sg_playlists, widget, only_export=False): try: qapp = QCoreApplication.instance() qapp.processEvents() widget.progressbar.setMaximum(100) widget.label.setText('Starting Itunes...') widget.emit(Qt.SIGNAL('updateProgress(int)'), 0) qapp.processEvents() if win32com.client.gencache.is_readonly: win32com.client.gencache.is_readonly = False win32com.client.gencache.Rebuild() from win32com.client.gencache import EnsureDispatch itunes = EnsureDispatch("iTunes.Application") widget.label.setText('Exporting to itunes...') widget.emit(Qt.SIGNAL('updateProgress(int)'), 25 if not only_export else 50) qapp.processEvents() from_sg_to_itunes(sg_playlists, widget, itunes) if not only_export: widget.label.setText('Importing to Super Gokya...') widget.emit(Qt.SIGNAL('updateProgress(int)'), 50) qapp.processEvents() from_itunes_to_sg(sg_playlists, itunes) widget.label.setText('Synchronizing playlists...') widget.emit(Qt.SIGNAL('updateProgress(int)'), 100) qapp.processEvents() sync_playlists(sg_playlists, itunes, only_export) conf = tanooki_library.get_or_create_config() conf['playlists'] = sg_playlists tanooki_library.save_config(conf) except Exception as e: open('bandicoot', 'a').write(str(datetime.datetime.now()) + '\t ' + str(e) + '\n')
def _deletePlaylist(self): item = self.playlists.takeItem(self.playlists.currentRow()) conf = tanooki_library.get_or_create_config() del conf['playlists'][unicode(item.text())] tanooki_library.save_config(conf)