One can associate a container to a Python class from the configuration file.
This commit is contained in:
parent
2ecf549503
commit
cd19cfb67b
|
@ -71,6 +71,13 @@ class DbXmlDatabase(dataholders.DataHolder):
|
|||
parent = self,
|
||||
uriPathFragment = name,
|
||||
)
|
||||
configuration = environs.getVar("configuration")
|
||||
pythonClass = configuration.getConfigString(
|
||||
"""yep:module[@name="%s"]/yep:container[@name="%s"]/@pythonClass""" % (__init__.__module__, name),
|
||||
None
|
||||
)
|
||||
if pythonClass:
|
||||
item.__class__ = configuration.convertStringToPythonClass(pythonClass, )
|
||||
return item, uriPathFragments[1:]
|
||||
return super(DbXmlDatabase, self).walkToItem(uriPathFragments, command, instruction)
|
||||
|
||||
|
@ -101,7 +108,7 @@ def __init__():
|
|||
)
|
||||
DbXmlDatabase._manager = dbxml.XmlManager(DbXmlDatabase._environment, dbxml.DBXML_ADOPT_DBENV)
|
||||
DbXmlDatabase._containers = {}
|
||||
for name in environs.getVar("configuration").getConfigList("""yep:module[@name="%s"]/yep:container/@name""" % __init__.__module__):
|
||||
for name in configuration.getConfigList("""yep:module[@name="%s"]/yep:container/@name""" % __init__.__module__):
|
||||
try:
|
||||
container = DbXmlDatabase._manager.openContainer(
|
||||
name, 0
|
||||
|
|
Reference in New Issue