Revision: 2111 http://trac.macosforge.org/projects/calendarserver/changeset/2111 Author: wsanchez@apple.com Date: 2008-01-22 14:21:29 -0800 (Tue, 22 Jan 2008) Log Message: ----------- Pulled up r2110 from trunk. Modified Paths: -------------- CalendarServer/branches/release/CalendarServer-1.2-dev/twistedcaldav/cluster.py Modified: CalendarServer/branches/release/CalendarServer-1.2-dev/twistedcaldav/cluster.py =================================================================== --- CalendarServer/branches/release/CalendarServer-1.2-dev/twistedcaldav/cluster.py 2008-01-21 19:26:00 UTC (rev 2110) +++ CalendarServer/branches/release/CalendarServer-1.2-dev/twistedcaldav/cluster.py 2008-01-22 22:21:29 UTC (rev 2111) @@ -26,7 +26,7 @@ from twisted.application import internet, service from twistedcaldav import logging -from twistedcaldav.config import config +from twistedcaldav.config import config, ConfigurationError from twistedcaldav.util import getNCPU @@ -69,10 +69,13 @@ self.interfaces = interfaces def getName(self): - return '%s-%s' % (self.prefix, self.ports[0]) + if self.ports is not None: + return '%s-%s' % (self.prefix, self.ports[0]) + elif self.sslPorts is not None: + return '%s-%s' % (self.prefix, self.sslPorts[0]) - def getSSLName(self): - return '%s-%s' % (self.prefix, self.sslPorts[0]) + raise ConfigurationError( + "Can't create TwistdSlaveProcess without a TCP Port") def getCommandLine(self): args = [ @@ -102,7 +105,7 @@ if self.sslPorts: args.extend([ - '-o', + '-o', 'BindSSLPorts=%s' % (','.join(map(str, self.sslPorts)),)]) @@ -110,18 +113,25 @@ return args - def getHostLine(self, ssl=None): + def getHostLine(self, ssl=True): name = self.getName() - port = self.ports + port = None - if ssl: - name = self.getSSLName() + if self.ports is not None: + port = self.ports + + if ssl and self.sslPorts is not None: port = self.sslPorts + if port is None: + raise ConfigurationError( + "Can not add a host without a port") + return hostTemplate % {'name': name, 'port': port[0], 'bindAddress': '127.0.0.1'} + def makeService_Combined(self, options): s = service.MultiService() monitor = procmon.ProcessMonitor()