[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:


and the problem element appears in the temporary XML fed to PDConf.__init__(…):
<control socket="logs/caldavd-pydir.sock" />

Could anyone advise?


More information about the calendarserver-users mailing list