src/pyams_utils/site.py
branchdev-tf
changeset 427 63284c98cdc1
parent 408 cf2304af0fab
--- 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)