1
0
Fork 0
mirror of https://github.com/yweber/lodel2.git synced 2026-03-14 15:22:02 +01:00

Quick & dirty interfacePlugin implementation + small import bugfixes

Import bugfixes in settings validator. Hooks must be imported in validatore definition to avoid circular import failure
This commit is contained in:
Yann 2016-08-24 10:13:36 +02:00
commit 585cc61dff
5 changed files with 6 additions and 10 deletions

View file

@ -9,7 +9,6 @@ import types # for dynamic bindings
from collections import namedtuple
from lodel import logger
from lodel.plugin.plugins import Plugin, PluginError
from lodel.settings.utils import SettingsError, SettingsErrors
from lodel.settings.validator import SettingValidator, LODEL2_CONF_SPECS, \
confspec_append
@ -131,6 +130,7 @@ class Settings(object, metaclass=MetaSettings):
##@brief This method handles Settings instance bootstraping
def __bootstrap(self):
from lodel.plugin.plugins import Plugin, PluginError
logger.debug("Settings bootstraping")
lodel2_specs = LODEL2_CONF_SPECS
loader = SettingsLoader(self.__conf_dir)
@ -161,6 +161,7 @@ class Settings(object, metaclass=MetaSettings):
# Starting the Plugins class
logger.debug("Starting lodel.plugin.Plugin class")
print("DEBUG : plugin list : ", plugin_list)
Plugin.start(plugin_list)
# Fetching conf specs from plugins
specs = [lodel2_specs]

View file

@ -7,7 +7,6 @@ import socket
import inspect
import copy
from lodel.plugin.hooks import LodelHook
## @package lodel.settings.validator Lodel2 settings validators/cast module
#
@ -220,6 +219,7 @@ def host_val(value):
raise SettingsValidationError(msg % value)
def emfield_val(value):
from lodel.plugin.hooks import LodelHook
spl = value.split('.')
if len(spl) != 2:
msg = "Expected a value in the form CLASSNAME.FIELDNAME but got : %s"
@ -240,6 +240,7 @@ def emfield_val(value):
return value
def plugin_val(value):
from lodel.plugin.hooks import LodelHook
spl = value.split('.')
if len(spl) != 2:
msg = "Expected a value in the form PLUGIN.TYPE but got : %s"
@ -369,10 +370,6 @@ LODEL2_CONF_SPECS = {
'lodel2': {
'debug': ( True,
SettingValidator('bool')),
'plugins_path': ( None,
SettingValidator('list')),
'plugins': ( "",
SettingValidator('list')),
'sitename': ( 'noname',
SettingValidator('strip')),
'runtest': ( False,