[CalendarServer-users] Exception reading generated PythonDirector configuration
calendarserver.sgd2 at spamgourmet.com
calendarserver.sgd2 at spamgourmet.com
Mon Oct 29 19:38:32 PDT 2012
Hi all,
I am trying to determine if this is an error in my configuration, but I think perhaps not.
The error message reads:
[pydir] pydirector.pdconf.ConfigError: expected 'service' or 'admin', got 'control'
This is thrown from pydirector/pdconf.py, PDConf.__init__(self, filename=None, xml=None)
The filename is a generated file that in this instance contains a 'control' element as a child of the 'pdconfig' element.
This XML file is generated in calendarserver/tap/caldav.py, in CalDAVServiceMaker.makeService_Combined(…)which has code like so:
pdconfig = """<pdconfig>%s<control socket="%s" /></pdconfig>""" % (
"\n".join(services), config.PythonDirector.ControlSocket,
)
I think this method must be constructing an XML file that cannot be read by PythonDirector. The services are concatenated, but then the ControlSocket element is appended before the closing 'pdconfig' tag. This is evidently unacceptable because the element is a 'control' element and not one of 'service', 'admin', or 'logging'.
I am using the control socked suggested in the caldavd-test.xml:
<key>ControlSocket</key>
<string>logs/caldavd-pydir.sock</string>
and the problem element appears in the temporary XML fed to PDConf.__init__(…):
<control socket="logs/caldavd-pydir.sock" />
Could anyone advise?
Thanks,
--
Derek
More information about the calendarserver-users
mailing list