Package entropy :: Module core :: Class SystemSettingsPlugin

Class SystemSettingsPlugin

source code


This is a plugin base class for all SystemSettings plugins. It allows to add extra parsers (though metadata) to SystemSettings. Just inherit from this class and call add_parser to add your custom parsers. SystemSettings will call the parse method, as explained below.

Sample code:

>>> # load SystemSettings
>>> from entropy.core import SystemSettings, SystemSettingsPlugin
>>> system_settings = SystemSettings()
>>> class MyPlugin(SystemSettingsPlugin):
>>>      pass
>>> my_plugin = MyPlugin('mystuff', None)
>>> def myparsing_function():
>>>     return {'abc': 1 }
>>> my_plugin.add_parser('parser_no_1', myparsing_function)
>>> system_settings.add_plugin(my_plugin)
>>> print(system_settings['mystuff']['parser_no_1'])
{'abc': 1 }
>>> # let's remove it
>>> system_settings.remove_plugin('mystuff') # through its plugin_id
>>> print(system_settings.get('mystuff'))
None
Instance Methods
None
__init__(self, plugin_id, helper_interface)
SystemSettingsPlugin constructor.
source code
string
get_id(self)
Returns the unique plugin id passed at construction time.
source code
 
add_parser(self, parser_id, parser_callable)
You must call this method in order to add your custom parsers to the plugin.
source code
None
parse(self, system_settings_instance)
This method is called by SystemSettings instance when building its settings metadata.
source code
None
post_setup(self, system_settings_instance)
This method is called by SystemSettings instance after having built all the SystemSettings metadata.
source code
Method Details

__init__(self, plugin_id, helper_interface)
(Constructor)

source code 

SystemSettingsPlugin constructor.

Parameters:
  • plugin_id (string) - plugin identifier, must be unique
  • helper_interface - any Python object that could be of help to your parsers
  • handler_instance (Python object)
Returns: None
None

get_id(self)

source code 

Returns the unique plugin id passed at construction time.

Returns: string
plugin identifier

add_parser(self, parser_id, parser_callable)

source code 

You must call this method in order to add your custom
parsers to the plugin.
Please note, if your parser method ends with "_parser"
it will be automatically added this way:

method: foo_parser
    parser_id => foo
method: another_fabulous_parser
    parser_id => another_fabulous

@param parser_id: parser identifier, must be unique
@type parser_id: string
@param parser_callable: any callable function which has
    the following signature: callable(system_settings_instance)
    can return True to stop further parsers calls
@type parser_callable: callable
@return: None
@rtype: None

parse(self, system_settings_instance)

source code 

This method is called by SystemSettings instance when building its settings metadata.

Returned data from parser will be put into the SystemSettings dict using plugin_id and parser_id keys. If returned data is None, SystemSettings dict won't be changed.

Parameters:
  • system_settings_instance (SystemSettings instance) - SystemSettings instance
Returns: None
None

post_setup(self, system_settings_instance)

source code 

This method is called by SystemSettings instance after having built all the SystemSettings metadata. You can reimplement this and hook your refinement code into this method.

Parameters:
  • system_settings_instance (SystemSettings instance) - SystemSettings instance
Returns: None
None