[Checkins] SVN: z3c.autoinclude/trunk/ check os environ keys before autoincluding, so that autoinclusion can be turned off for running tests, debugging, etc

Ethan Jucovy ejucovy at openplans.org
Fri Feb 6 10:25:36 EST 2009


Log message for revision 96194:
  check os environ keys before autoincluding, so that autoinclusion can be turned off for running tests, debugging, etc

Changed:
  U   z3c.autoinclude/trunk/CHANGES.txt
  A   z3c.autoinclude/trunk/src/z3c/autoinclude/api.py
  U   z3c.autoinclude/trunk/src/z3c/autoinclude/tests/FooPackage/setup.py
  U   z3c.autoinclude/trunk/src/z3c/autoinclude/zcml.py

-=-
Modified: z3c.autoinclude/trunk/CHANGES.txt
===================================================================
--- z3c.autoinclude/trunk/CHANGES.txt	2009-02-06 12:55:46 UTC (rev 96193)
+++ z3c.autoinclude/trunk/CHANGES.txt	2009-02-06 15:25:35 UTC (rev 96194)
@@ -12,6 +12,10 @@
 * Provide a separate ``includePluginsOverrides`` directive to be used when loading overrides,
   and no longer look for 'overrides.zcml' files by default with ``includePlugins``.
 * Removed the deprecated ``autoinclude`` and ``autoincludeOverrides`` directives.
+* Allow autoinclusion to be disabled by setting `os.environ['Z3C_AUTOINCLUDE_PLUGINS_DISABLED']`
+  and `os.environ['Z3C_AUTOINCLUDE_DEPENDENCIES_DISABLED']`, potentially useful for test runners
+  or debugging sessions. See http://lists.plone.org/pipermail/framework-team/2009-February/002689.html
+  for discussion.
 
 0.2.2 (2008-04-22)
 ------------------

Added: z3c.autoinclude/trunk/src/z3c/autoinclude/api.py
===================================================================
--- z3c.autoinclude/trunk/src/z3c/autoinclude/api.py	                        (rev 0)
+++ z3c.autoinclude/trunk/src/z3c/autoinclude/api.py	2009-02-06 15:25:35 UTC (rev 96194)
@@ -0,0 +1,18 @@
+import os
+
+DEP_KEY = 'Z3C_AUTOINCLUDE_DEPENDENCIES_DISABLED'
+PLUGIN_KEY = 'Z3C_AUTOINCLUDE_PLUGINS_DISABLED'
+
+def dependencies_disabled():
+    return os.environ.has_key(DEP_KEY)
+def disable_dependencies():
+    os.environ[DEP_KEY] = 'True'
+def enable_dependencies():
+    del os.environ[DEP_KEY]
+
+def plugins_disabled():
+    return os.environ.has_key(PLUGIN_KEY)
+def disable_plugins():
+    os.environ[PLUGIN_KEY] = 'True'
+def enable_dependencies():
+    del os.environ[PLUGIN_KEY]

Modified: z3c.autoinclude/trunk/src/z3c/autoinclude/tests/FooPackage/setup.py
===================================================================
--- z3c.autoinclude/trunk/src/z3c/autoinclude/tests/FooPackage/setup.py	2009-02-06 12:55:46 UTC (rev 96193)
+++ z3c.autoinclude/trunk/src/z3c/autoinclude/tests/FooPackage/setup.py	2009-02-06 15:25:35 UTC (rev 96194)
@@ -24,6 +24,6 @@
       entry_points="""
       # -*- Entry points: -*-
       [z3c.autoinclude.plugin]
-      target = basepackage
+      fleem = basepackage
       """,
       )

Modified: z3c.autoinclude/trunk/src/z3c/autoinclude/zcml.py
===================================================================
--- z3c.autoinclude/trunk/src/z3c/autoinclude/zcml.py	2009-02-06 12:55:46 UTC (rev 96193)
+++ z3c.autoinclude/trunk/src/z3c/autoinclude/zcml.py	2009-02-06 15:25:35 UTC (rev 96194)
@@ -4,6 +4,7 @@
 from zope.dottedname.resolve import resolve
 from zope.schema import BytesLine
 
+from z3c.autoinclude import api
 from z3c.autoinclude.dependency import DependencyFinder
 from z3c.autoinclude.utils import distributionForPackage
 from z3c.autoinclude.plugin import PluginFinder
@@ -41,6 +42,11 @@
         )
 
 def includeDependenciesDirective(_context, package):
+
+    if api.dependencies_disabled():
+        log.warn('z3c.autoinclude.dependency is disabled but is being invoked by %s' % _context.info)
+        return
+
     dist = distributionForPackage(package)
     info = DependencyFinder(dist).includableInfo(['configure.zcml', 'meta.zcml'])
 
@@ -48,6 +54,11 @@
     includeZCMLGroup(_context, info, 'configure.zcml')
 
 def includeDependenciesOverridesDirective(_context, package):
+
+    if api.dependencies_disabled():
+        log.warn('z3c.autoinclude.dependency is disabled but is being invoked by %s' % _context.info)
+        return
+
     dist = distributionForPackage(package)
     info = DependencyFinder(dist).includableInfo(['overrides.zcml'])
     includeZCMLGroup(_context, info, 'overrides.zcml', override=True)
@@ -76,6 +87,11 @@
 
 
 def includePluginsDirective(_context, package, file=None):
+
+    if api.plugins_disabled():
+        log.warn('z3c.autoinclude.plugin is disabled but is being invoked by %s' % _context.info)
+        return
+
     dotted_name = package.__name__
 
     if file is None:
@@ -88,6 +104,11 @@
         includeZCMLGroup(_context, info, filename)
 
 def includePluginsOverridesDirective(_context, package, file=None):
+
+    if api.plugins_disabled():
+        log.warn('z3c.autoinclude.plugin is disabled but is being invoked by %s' % _context.info)
+        return
+
     dotted_name = package.__name__
     if file is None:
         zcml_to_look_for = ['overrides.zcml']



More information about the Checkins mailing list