Revision
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

Diff

Modified: CalendarServer/branches/release/CalendarServer-1.2-dev/twistedcaldav/cluster.py (2110 => 2111)


--- 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()