def read_device(self): """ read all files from the device """ log('Reading files from %s', self._config.mp3_player_folder, sender=self) tracks = [] for root, dirs, files in os.walk(self._config.mp3_player_folder): for file in files: filename = os.path.join(root, file) if filename == self.playlist_file or fnmatch.fnmatch(filename, '*.dat') or fnmatch.fnmatch(filename, '*.DAT'): # We don't want to have our playlist file as # an entry in our file list, so skip it! # We also don't want to include dat files continue if self._config.mp3_player_playlist_absolute_path: filename = filename[len(self.mountpoint):] else: filename = util.relpath(os.path.dirname(self.playlist_file), os.path.dirname(filename)) + \ os.sep + os.path.basename(filename) if self._config.mp3_player_playlist_win_path: filename = filename.replace(os.sep, '\\') tracks.append(filename) return tracks
def on_btn_playlist_folder_clicked(self, widget): fs = Gtk.FileChooserDialog(title=_('Select folder for playlists'), action=Gtk.FileChooserAction.SELECT_FOLDER) fs.set_local_only(False) fs.add_button(_('_Cancel'), Gtk.ResponseType.CANCEL) fs.add_button(_('_Open'), Gtk.ResponseType.OK) device_folder = util.new_gio_file(self._config.device_sync.device_folder) playlists_folder = device_folder.resolve_relative_path(self._config.device_sync.playlists.folder) fs.set_file(playlists_folder) while fs.run() == Gtk.ResponseType.OK: filename = util.relpath(fs.get_uri(), self._config.device_sync.device_folder) if not filename: show_message_dialog(fs, _('The playlists folder must be on the device')) continue if self._config.device_sync.device_type == 'filesystem': self._config.device_sync.playlists.folder = filename self.btn_playlistfolder.set_label(filename or "") children = self.btn_playlistfolder.get_children() if children: label = children.pop() label.set_alignment(0., .5) break fs.destroy()
def read_device(self): """ read all files from the device """ log('Reading files from %s', self._config.mp3_player_folder, sender=self) tracks = [] for root, dirs, files in os.walk(self._config.mp3_player_folder): for file in files: filename = os.path.join(root, file) if filename == self.playlist_file or fnmatch.fnmatch( filename, '*.dat') or fnmatch.fnmatch( filename, '*.DAT'): # We don't want to have our playlist file as # an entry in our file list, so skip it! # We also don't want to include dat files continue if self._config.mp3_player_playlist_absolute_path: filename = filename[len(self.mountpoint):] else: filename = util.relpath(os.path.dirname(self.playlist_file), os.path.dirname(filename)) + \ os.sep + os.path.basename(filename) if self._config.mp3_player_playlist_win_path: filename = filename.replace(os.sep, '\\') tracks.append(filename) return tracks
def get_absolute_filename_for_playlist(self, episode): """ get the filename including full path for the given episode for the playlist """ filename = self.get_filename_for_playlist(episode) if self._config.device_sync.one_folder_per_podcast: filename = os.path.join(util.sanitize_filename(episode.channel.title), filename) if self._config.device_sync.playlist.absolute_path: filename = os.path.join(util.relpath(self.mountpoint, self._config.device_sync.device_folder), filename) return filename
def get_absolute_filename_for_playlist(self, episode): """ get the filename including full path for the given episode for the playlist """ filename = self.get_filename_for_playlist(episode) foldername = episode_foldername_on_device(self._config, episode) if foldername: filename = os.path.join(foldername, filename) if self._config.device_sync.playlist.absolute_path: filename = os.path.join(util.relpath(self.mountpoint, self._config.device_sync.device_folder), filename) return filename
def get_absolute_filename_for_playlist(self, episode): """ get the filename including full path for the given episode for the playlist """ filename = self.get_filename_for_playlist(episode) foldername = episode_foldername_on_device(self._config, episode) if foldername: filename = os.path.join(foldername, filename) if self._config.device_sync.playlist.absolute_path: filename = os.path.join(util.relpath(self._config.device_sync.device_folder, self.mountpoint.get_uri()), filename) return filename
def on_btn_playlist_folder_clicked(self, widget): fs = gtk.FileChooserDialog(title=_("Select folder for playlists"), action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) fs.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL) fs.add_button(gtk.STOCK_OPEN, gtk.RESPONSE_OK) fs.set_current_folder(self.btn_playlistfolder.get_label()) if fs.run() == gtk.RESPONSE_OK: filename = util.relpath(self._config.device_sync.device_folder, fs.get_filename()) if self._config.device_sync.device_type == "filesystem": self._config.device_sync.playlists.folder = filename self.btn_playlistfolder.set_label(filename) children = self.btn_playlistfolder.get_children() if children: label = children.pop() label.set_alignment(0.0, 0.5) fs.destroy()
def on_btn_playlist_folder_clicked(self, widget): fs = Gtk.FileChooserDialog(title=_('Select folder for playlists'), action=Gtk.FileChooserAction.SELECT_FOLDER) fs.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL) fs.add_button(Gtk.STOCK_OPEN, Gtk.ResponseType.OK) fs.set_current_folder(self.btn_playlistfolder.get_label()) if fs.run() == Gtk.ResponseType.OK: filename = util.relpath(self._config.device_sync.device_folder, fs.get_filename()) if self._config.device_sync.device_type == 'filesystem': self._config.device_sync.playlists.folder = filename self.btn_playlistfolder.set_label(filename) children = self.btn_playlistfolder.get_children() if children: label = children.pop() label.set_alignment(0., .5) fs.destroy()