- fix rename_download that was causing #494
- max_length is now mandatory in util.sanitize_filename
- add max_length param where it's missing
- factor name computation in deviceplaylist and sync
Changed sync code to check needed pace against available space and raise
error if there is not enough room for the track. This causes the track
to be listed in the failed_sync list. I could not get it to be in the
failed_sync list without raising an exception. Added a new sync failed
exception.
Also changed the main gtkui code to not include the failed_sync tracks
in the list of tracks to perform post-sync processing on. This prevents
tracks that were not copied from being marked as played.
on_episode_synced pararms:
device: gpodder.sync.Device instance
episode: gpodder.model.PodcastEpisode instance
replace on_episode_downloaded with on_episode_synced in sync.py
This will allow users to make extensions that are triggered
after a file has been synced to a device
only effects MP3PlayerDevice
easy way to get folder and filename that episode will be
synced to on device
get_episode_folder_on_device(episode):
returns folder location on device episode will be
synced into
get_episode_file_on_device(episode):
returns filename that will be used on device
When the verbose mode is on, and the database is big, it can take
several seconds for gPodder to log all excluded from sync episodes. At
that time, the update downloads list timer stops, because there are no
sync tasks yet. This patch ensures the download list is updated after
all the sync tasks are added to the download queue.
- Add category metadata in every extension
- Show this category in the extension list gui
- Add "mandatory_in" and "disable-in" configuration for an extension
- Add Ubuntu unity check to enable/disable unity specific extensions
- Move "gpodder.win32" and "gpodder.osx" setting to the "gpodder.ui" namespace to be able to use it in the extensions category settings
- Only show metadata information in the right-click dialog of an extension
glob.glob tries to convert all filenames to unicode,
if it gets a unicode string as an argument.
To avoid decoding errors, it should just preserve the existing codec.
In order to avoid user confusion and because
pymtp disappeared from the upstream website, we
now ship pymtp with gPodder and only depend on
libmtp for MTP support.
I've recently switched from an iPod to a Sony Ericsson mobile phone,
which is accessible as an MTP device. It has support for podcasts, but
it only recognizes tracks as podcasts if they're in certain folders,
namely:
Music/podcast
Video/podcast
Picture/podcast
Tracks from these folders show up in the "Podcasts" menu, are
highlighted until played and per-file playback positions are remembered.
Attached is a patch which adds configurable folders for audio, video and
image podcasts. There is also a new option to create folders per podcast
(e.g., Music/podcast/No Agenda). The complete list of added config
options is:
mtp_audio_folder (str)
mtp_video_folder (str)
mtp_image_folder (str)
mtp_podcast_folders (bool)
On my iPod classic, sometimes when syncing with gpodder, some podcasts
would vanish. Opening the iPod in gtkpod and resaving the database
makes these missing podcasts reappear.
Episodes that are deleted from the device can still
have their associated entry in the iTunesDB. This
patch removes the entry from the database during a
synchronization operation.