src/pyams_utils/factory.py
changeset 183 5e239a213d1d
parent 182 71a6c885b336
child 198 7d70896756f2
--- a/src/pyams_utils/factory.py	Fri May 25 08:39:32 2018 +0200
+++ b/src/pyams_utils/factory.py	Fri May 25 11:26:13 2018 +0200
@@ -9,7 +9,6 @@
 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
 # FOR A PARTICULAR PURPOSE.
 #
-from pyams_utils.registry import get_global_registry
 
 __docformat__ = 'restructuredtext'
 
@@ -24,6 +23,7 @@
 from pyams_utils.interfaces import IObjectFactory
 
 # import packages
+from pyams_utils.registry import get_global_registry
 from zope.component import adapter, queryAdapter
 from zope.interface import implementer, Interface
 
@@ -31,7 +31,7 @@
 @adapter(Interface)
 @implementer(IObjectFactory)
 class ObjectFactoryAdapter(object):
-    """Most basic-default object factory adapter"""
+    """Most basic object factory adapter"""
 
     factory = None
 
@@ -43,12 +43,19 @@
 
 
 def get_interface_name(iface):
-    """Get interface name"""
+    """Get interface full name"""
     return iface.__module__ + '.' + iface.__name__
 
 
 def register_factory(interface, klass, registry=None, name=''):
-    """Register factory for a given interface"""
+    """Register factory for a given interface
+
+    :param interface: the interface for which the factory is registered
+    :param klass: the object factory
+    :param registry: the registry into which factory adapter should be registered; if None, the global
+        registry is used
+    :param name: custom name given to registered factory
+    """
 
     class Temp(ObjectFactoryAdapter):
         factory = klass
@@ -104,7 +111,13 @@
 
 
 def get_object_factory(interface, registry=None, name=''):
-    """Get registered factory for given interface"""
+    """Get registered factory for given interface
+
+    :param interface: the interface for which a factory is requested
+    :param registry: the registry into which registered factory should be looked for
+    :param name: name of requested factory
+    :return: the requested object factory, or None if it can't be found
+    """
     if_name = get_interface_name(interface)
     if name:
         if_name = '{0}::{1}'.format(if_name, name)