[Checkins] SVN: z3c.form/trunk/ - Remove dependency on zope.site.hooks, which was moved to zope.component in

Brian Sutherland jinty at web.de
Wed Nov 30 11:03:36 UTC 2011


Log message for revision 123555:
  - Remove dependency on zope.site.hooks, which was moved to zope.component in
    3.8.0 (present in ZTK 1.0 and above).
  - Make zope.container dependency more optional (it is only used in tests)
  
  I tried hard, but failed, to get the very old software installed to test this
  change properly.  We'll see what the buildbots say.
  

Changed:
  U   z3c.form/trunk/CHANGES.txt
  U   z3c.form/trunk/src/z3c/form/browser/image.py
  U   z3c.form/trunk/src/z3c/form/button.py
  U   z3c.form/trunk/src/z3c/form/compatibility.py

-=-
Modified: z3c.form/trunk/CHANGES.txt
===================================================================
--- z3c.form/trunk/CHANGES.txt	2011-11-30 10:45:44 UTC (rev 123554)
+++ z3c.form/trunk/CHANGES.txt	2011-11-30 11:03:35 UTC (rev 123555)
@@ -5,8 +5,10 @@
 2.5.2 (unreleased)
 ------------------
 
-- Nothing changed yet.
+- Remove dependency on zope.site.hooks, which was moved to zope.component in
+  3.8.0 (present in ZTK 1.0 and above).
 
+- Make zope.container dependency more optional (it is only used in tests)
 
 2.5.1 (2011-11-26)
 ------------------
@@ -17,7 +19,6 @@
 
 - Pinned minimum version of test dependency `z3c.template`.
 
-
 2.5.0 (2011-10-29)
 ------------------
 

Modified: z3c.form/trunk/src/z3c/form/browser/image.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/image.py	2011-11-30 10:45:44 UTC (rev 123554)
+++ z3c.form/trunk/src/z3c/form/browser/image.py	2011-11-30 11:03:35 UTC (rev 123555)
@@ -20,7 +20,7 @@
 import zope.interface
 import zope.traversing.api
 from zope.schema.fieldproperty import FieldProperty
-from zope.site import hooks
+from zope.component import hooks
 
 from z3c.form import interfaces
 from z3c.form.widget import FieldWidget

Modified: z3c.form/trunk/src/z3c/form/button.py
===================================================================
--- z3c.form/trunk/src/z3c/form/button.py	2011-11-30 10:45:44 UTC (rev 123554)
+++ z3c.form/trunk/src/z3c/form/button.py	2011-11-30 11:03:35 UTC (rev 123555)
@@ -23,7 +23,7 @@
 import zope.schema
 import zope.traversing.api
 
-from zope.site import hooks
+from zope.component import hooks
 from zope.interface import adapter
 from zope.schema.fieldproperty import FieldProperty
 from z3c.form import action, interfaces, util, value

Modified: z3c.form/trunk/src/z3c/form/compatibility.py
===================================================================
--- z3c.form/trunk/src/z3c/form/compatibility.py	2011-11-30 10:45:44 UTC (rev 123554)
+++ z3c.form/trunk/src/z3c/form/compatibility.py	2011-11-30 11:03:35 UTC (rev 123555)
@@ -21,8 +21,15 @@
 import types
 
 def addHooks():
+    import zope.component
     try:
+        from zope.component import hooks
+        return # yay, we have modern software
+    except ImportError:
+        pass
+    try:
         from zope.site import hooks
+        zope.component.hooks = hooks
         return
     except AttributeError:
         #this is a crappy situation
@@ -31,22 +38,23 @@
         zope.location.interfaces.IRoot = zope.traversing.interfaces.IContainmentRoot
         import zope.site
         import zope.app.component.hooks
-        zope.site.hooks = zope.app.component.hooks
+        zope.component.hooks = zope.app.component.hooks
     except ImportError:
         import zope.app.component.hooks
-        site = types.ModuleType('site')
-        site.hooks = zope.app.component.hooks
-        sys.modules['zope.site'] = site
+        zope.component.hooks = zope.app.component.hooks
 
 def addBTree():
     try:
         import zope.container.btree
         return
     except ImportError:
-        import zope.app.container.btree
-        container = types.ModuleType('container')
-        container.btree = zope.app.container.btree
-        sys.modules['zope.container'] = container
+        try:
+            import zope.app.container.btree
+            container = types.ModuleType('container')
+            container.btree = zope.app.container.btree
+            sys.modules['zope.container'] = container
+        except ImportError:
+            pass # only for tests
 
 def apply():
     addHooks()



More information about the checkins mailing list