"""
Module to handle plugin blacklisting operations, like setting
default plugins to be blacklisted, etc.
"""
DEFAULT_BLACKLISTED_PLUGINS = ['package_upgrade']
class PluginBlacklister(object):
"""
Class to handle operations regarding blacklisting of plugins.
"""
def __init__(self, default_plugins=DEFAULT_BLACKLISTED_PLUGINS):
self._default_plugins = default_plugins
def update_list(self, plugin_list):
"""
Update a plugin blacklist with the defaults ones.
"""
if plugin_list:
user_plugins = plugin_list.split(',')
user_plugins = [plugin.strip() for plugin in user_plugins]
else:
user_plugins = []
plugin_set = set(user_plugins + self._default_plugins)
return ','.join(plugin_set)