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