mirror of
https://github.com/kakwa/ldapcherry
synced 2024-11-22 09:24:21 +01:00
small debug script for class LdapCherry
This commit is contained in:
parent
544866ce56
commit
114799f684
41
misc/debug_lc.py
Normal file
41
misc/debug_lc.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import pytest
|
||||||
|
import sys
|
||||||
|
from sets import Set
|
||||||
|
from ldapcherry import LdapCherry
|
||||||
|
from ldapcherry.exceptions import DumplicateRoleKey, MissingKey, DumplicateRoleContent, MissingRolesFile, MissingRole
|
||||||
|
from ldapcherry.pyyamlwrapper import DumplicatedKey, RelationError
|
||||||
|
import cherrypy
|
||||||
|
from cherrypy.process import plugins, servers
|
||||||
|
from cherrypy import Application
|
||||||
|
import logging
|
||||||
|
|
||||||
|
# monkey patching cherrypy to disable config interpolation
|
||||||
|
def new_as_dict(self, raw=True, vars=None):
|
||||||
|
"""Convert an INI file to a dictionary"""
|
||||||
|
# Load INI file into a dict
|
||||||
|
result = {}
|
||||||
|
for section in self.sections():
|
||||||
|
if section not in result:
|
||||||
|
result[section] = {}
|
||||||
|
for option in self.options(section):
|
||||||
|
value = self.get(section, option, raw=raw, vars=vars)
|
||||||
|
try:
|
||||||
|
value = cherrypy.lib.reprconf.unrepr(value)
|
||||||
|
except Exception:
|
||||||
|
x = sys.exc_info()[1]
|
||||||
|
msg = ("Config error in section: %r, option: %r, "
|
||||||
|
"value: %r. Config values must be valid Python." %
|
||||||
|
(section, option, value))
|
||||||
|
raise ValueError(msg, x.__class__.__name__, x.args)
|
||||||
|
result[section][option] = value
|
||||||
|
return result
|
||||||
|
cherrypy.lib.reprconf.Parser.as_dict = new_as_dict
|
||||||
|
|
||||||
|
|
||||||
|
def loadconf(configfile, instance):
|
||||||
|
app = cherrypy.tree.mount(instance, '/', configfile)
|
||||||
|
cherrypy.config.update(configfile)
|
||||||
|
instance.reload(app.config)
|
||||||
|
|
||||||
|
app = LdapCherry()
|
||||||
|
loadconf('./tests/cfg/ldapcherry.ini', app)
|
Loading…
Reference in New Issue
Block a user