--- a/src/pyams_utils/site.py Sat Nov 23 01:24:11 2019 +0100
+++ b/src/pyams_utils/site.py Sat Nov 23 14:57:24 2019 +0100
@@ -11,6 +11,12 @@
#
"""PyAMS_utils.site module
+
+This modules provides classes of elements which can be used as application or site "root"
+objects.
+
+Il also provides functions which are used to manage site's "generations", used to upgrade
+objects while migrating from one version to another.
"""
from persistent.dict import PersistentDict
@@ -48,7 +54,7 @@
BaseSiteRoot defines a basic ACL which gives all permissions to system administrator,
and 'public' permission to everyone. But this ACL is generally overriden in subclasses
- which also inherit from :class:`pyams_security.security.ProtectedObject`.
+ which also inherit from :py:class:`ProtectedObject <pyams_security.security.ProtectedObject>`.
"""
__acl__ = [(Allow, 'system:admin', ALL_PERMISSIONS),
@@ -64,7 +70,9 @@
Gives access to local site manager from */++etc++site* URL
"""
- def traverse(self, name, furtherpath=None):
+ def traverse(self, name, furtherpath=None): # pylint: disable=unused-argument
+ """Traverse to site manager;
+ see :py:class:`ITraversable <zope.traversing.interfaces.ITraversable>`"""
if name == 'site':
return self.context.getSiteManager()
raise NotFound
@@ -96,8 +104,8 @@
factory = request.registry.queryUtility(ISiteRootFactory, default=BaseSiteRoot)
application = root[application_key] = factory()
if IPossibleSite.providedBy(application):
- sm = LocalSiteManager(application, default_folder=False)
- application.setSiteManager(sm)
+ lsm = LocalSiteManager(application, default_folder=False)
+ application.setSiteManager(lsm)
try:
# if some components require a valid and complete registry
# with all registered utilities, they can subscribe to
@@ -106,7 +114,7 @@
get_current_registry().notify(NewLocalSiteCreatedEvent(application))
finally:
hooks.setSite(None)
- import transaction
+ import transaction # pylint: disable=import-outside-toplevel
transaction.commit()
return application
@@ -145,7 +153,7 @@
generations[name] = utility.generation
finally:
hooks.setSite(None)
- import transaction
+ import transaction # pylint: disable=import-outside-toplevel
transaction.commit()
return application
@@ -168,10 +176,10 @@
for interface, name, factory, default_id in utilities:
utility = query_utility(interface, name=name)
if utility is None:
- sm = site.getSiteManager()
- if default_id in sm:
+ lsm = site.getSiteManager()
+ if default_id in lsm:
continue
utility = factory()
registry.notify(ObjectCreatedEvent(utility))
- sm[default_id] = utility
- sm.registerUtility(utility, interface, name=name)
+ lsm[default_id] = utility
+ lsm.registerUtility(utility, interface, name=name)