From 0474ba5b8d18512c00e0e0cd6ea611365a10bf5b Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 10 Aug 2009 09:26:41 +0000
Subject: [PATCH] Make connector.getConnectorHandler accept None values
 (returns the default connector). Make "connector" parameter of client's
 Sotrage and Application classes optional.

git-svn-id: https://svn.erp5.org/repos/neo/branches/prototype3@1255 71dcc9de-d417-0410-9af5-da40c76e7ee4
---
 neo/client/Storage.py | 3 ++-
 neo/client/app.py     | 2 +-
 neo/connector.py      | 5 ++++-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/neo/client/Storage.py b/neo/client/Storage.py
index 853eba78..0da5c03d 100644
--- a/neo/client/Storage.py
+++ b/neo/client/Storage.py
@@ -26,7 +26,8 @@ class Storage(BaseStorage.BaseStorage,
 
     __name__ = 'NEOStorage'
 
-    def __init__(self, master_nodes, name, connector, read_only=False, **kw):
+    def __init__(self, master_nodes, name, connector=None, read_only=False,
+                 **kw):
         BaseStorage.BaseStorage.__init__(self, name)
         self._is_read_only = read_only
         self.app = Application(master_nodes, name, connector)
diff --git a/neo/client/app.py b/neo/client/app.py
index c47c1350..5ff060a9 100644
--- a/neo/client/app.py
+++ b/neo/client/app.py
@@ -232,7 +232,7 @@ class ThreadContext(object):
 class Application(object):
     """The client node application."""
 
-    def __init__(self, master_nodes, name, connector, **kw):
+    def __init__(self, master_nodes, name, connector=None, **kw):
         # XXX: use a configuration entry
         em = EventManager()
         # Start polling thread
diff --git a/neo/connector.py b/neo/connector.py
index 931dd7af..3c1a1a02 100644
--- a/neo/connector.py
+++ b/neo/connector.py
@@ -23,11 +23,14 @@ from neo import logging
 # Fill by calling registerConnectorHandler.
 # Read by calling getConnectorHandler.
 connector_registry = {}
+DEFAULT_CONNECTOR = 'SocketConnector'
 
 def registerConnectorHandler(connector_handler):
     connector_registry[connector_handler.__name__] = connector_handler
 
-def getConnectorHandler(connector):
+def getConnectorHandler(connector=None):
+    if connector is None:
+        connector = DEFAULT_CONNECTOR
     if isinstance(connector, basestring):
         connector_handler = connector_registry.get(connector)
     else:
-- 
2.30.9