diff -r 71a6c885b336 -r 5e239a213d1d src/pyams_utils/factory.py --- 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)