Fixes flake8 error F401.
Most errors were fixed by running
autoflake -i -r --remove-all-unused-imports .
which also removes unnecessary 'pass' statements, some by hand-editing.
new on_find_partial_downloads_done() hook for update_feeds_on_startup extension.
It's the only way to prevent a race condition between adding downloads
from new episodes when set to download immediatly and adding back
partial downloads.
ImportError.message from python2 is now ImportError.msg.
ut since we move to python3, we might as well use the
`name` field (since 3.3).
See d41e165915
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
If an extension author adds an flattr url to the extensions metadata
gPodder shows the "Flattr this" menu entry in the popup menu for an
extension in the preference dialog.
Alternative the extension author can add an url to the extensions
metadata to link to the authors donation page (Support the author).
Also the extension author can add an url to the extensions metadata
to link to the extensions user documentation.
Dear libav and ffmpeg developers, thanks for having two
different codebases, and thanks for making it even harder
to use a single command (either "ffmpeg" or "avconv") from
third party applications. If it weren't for you, we would
not have spend some quality time fixing this bug...
- 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
Add an extension callback for reacting to a user activating the context
menu on a channel. Allows the extension developer to add menu items to
the channel context menu if desired.
save default_value of an extension when loading them for the first time;
add option to start the ExtensionManager with only one file (used in the
extensions tests)
This is still not perfect (has to launch as new process),
but it works for the normal use case as an extension.
Also added support for localized metadata in extensions.
Restructure the source tree to be more like the
target installation directory (share/...).
Rewrite setup.py to only install a subset of the
available UIs and to be more flexible and cleaner
in general.
I hope this doesn't cause too much breakage, but
should result in a cleaner build/install system and
more happy developers and packagers in the long run.
Move manager to preferences dialog.
Make the manager listen on config changes to enable
and disable extensions/containers on the fly.
Move the "enabled" flag into the container as an
attribute (+ add set_enabled() method for loading).
Refactor Justin's "User extensions" code to make it
a bit more cleaner and documented, and rename it to
"hooks", as this more precisely describes the nature
of the mechanism.
Currently this only lets you do something with
channels and episodes before they are saved,
e.g. modify titles. Can be extended easily to
provide more functions.
Loads $GPODDER_HOME/extensions/*.py, see src/gpodder/userext.py
for details.