2
from flexget import plugin
3
from flexget.plugin import *
5
log = logging.getLogger('builtins')
8
class PluginDisableBuiltins(object):
10
Disables all builtin plugins from a feed.
17
from flexget import validator
18
# TODO: accept only list (of texts) or boolean
19
return validator.factory('any')
22
for name, info in plugin.plugins.iteritems():
25
log.debug('Builtin plugin: %s' % (name))
27
def on_feed_start(self, feed):
28
for name, info in plugin.plugins.iteritems():
30
if isinstance(feed.config['disable_builtins'], list):
31
if info.name in feed.config['disable_builtins']:
33
self.disabled.append(name)
35
# disabling all builtins
37
self.disabled.append(name)
38
log.debug('Disabled builtin plugin %s' % ', '.join(self.disabled))
41
def on_feed_exit(self, feed):
43
for name in self.disabled:
45
plugin.plugins[name].builtin = True
47
log.debug('Enabled builtin plugins %s' % ', '.join(names))
49
on_feed_abort = on_feed_exit
51
plugin.register_plugin(PluginDisableBuiltins, 'disable_builtins')