+config = loadConfigFile(os.getenv('HOME') + '/.dsl.conf')
+# find internal connector
+if 'internalConnector' in config:
+ if len(config['internalConnector']) != 1:
+ raise Exception("You must specify exactly one internal connector")
+ internalConnector = config['internalConnector'][0]
+ if not internalConnector in connectors:
+ raise Exception("Connector %s does not exist, there is an error in your config file" % internalConnector)
+else:
+ # auto-config
+ internalConnector = findAvailableConnector(commonInternalConnectorNames)
+ if internalConnector is None:
+ raise Exception("Could not automatically find internal connector, please use ~/.dsl.conf to specify it manually")
+# all the rest is external then, obviously - unless the user wants to do that manually
+if 'externalConnectors' in config:
+ externalConnectors = config['externalConnectors']
+ for connector in externalConnectors:
+ if not connector in connectors:
+ raise Exception("Connector %s does not exist, there is an error in your config file" % internalConnector)
+else:
+ externalConnectors = connectors.keys()
+ externalConnectors.remove(internalConnector)
+if not externalConnectors:
+ raise Exception("No external connector found - either your config is wrong, or your machine has only one connector")