A extension script is a python script with the file extention .py.
It contains a class with the name
Below is a example, which just print
Hello World to console.
To load it put it in a directory called
Extensions in your gPodder directory.
If everything works, you should see your extension with its title in
Preference -> Extensions.
# Use a logger for debug output - this will be managed by gPodder import logging logger = logging.getLogger(__name__) # Provide some metadata that will be displayed in the gPodder GUI __title__ = 'Hello World Extension' __description__ = 'Explain in one sentence what this extension does.' __only_for__ = 'gtk, cli, qml' __authors__ = 'Thomas Perl <email@example.com>' class gPodderExtension: # The extension will be instantiated the first time it's used # You can do some sanity checks here and raise an Exception if # you want to prevent the extension from being loaded.. def __init__(self, container): self.container = container # This function will be called when the extension is enabled or # loaded. This is when you want to create helper objects or hook # into various parts of gPodder. def on_load(self): logger.info('Extension is being loaded.') print '='*40 print 'container:', self.container print 'container.manager:', self.container.manager print 'container.config:', self.container.config print 'container.manager.core:', self.container.manager.core print 'container.manager.core.db:', self.container.manager.core.db print 'container.manager.core.config:', self.container.manager.core.config print 'container.manager.core.model:', self.container.manager.core.model print '='*40 # This function will be called when the extension is disabled or # when gPodder shuts down. You can use this to destroy/delete any # objects that you created in on_load(). def on_unload(self): logger.info('Extension is being unloaded.')