[Checkins] SVN: z3c.relationfield/trunk/s Remove dependency on Grok; now depend on grokcore.component instead.

Martijn Faassen faassen at infrae.com
Fri Oct 17 12:46:57 EDT 2008


Log message for revision 92321:
  Remove dependency on Grok; now depend on grokcore.component instead. 
  
  This still pulls in a giant hairball of dependencies because of the
  dependency relations of underlying packages..
  

Changed:
  U   z3c.relationfield/trunk/setup.py
  U   z3c.relationfield/trunk/src/z3c/relationfield/README.txt
  U   z3c.relationfield/trunk/src/z3c/relationfield/configure.zcml
  U   z3c.relationfield/trunk/src/z3c/relationfield/ftesting.zcml
  U   z3c.relationfield/trunk/src/z3c/relationfield/ftests.py

-=-
Modified: z3c.relationfield/trunk/setup.py
===================================================================
--- z3c.relationfield/trunk/setup.py	2008-10-17 16:33:01 UTC (rev 92320)
+++ z3c.relationfield/trunk/setup.py	2008-10-17 16:46:56 UTC (rev 92321)
@@ -20,10 +20,16 @@
     zip_safe=False,
     install_requires=[
         'setuptools',
-        'grok',
+        'ZODB3',
+        'grokcore.component',
+        'zope.app.intid',
+        'zope.app.container',
         'z3c.schema2xml',
         'z3c.objpath',
         'zc.relation',
+        # for tests
+        'zope.app.zcmlfiles',
+        'zope.securitypolicy',
         ],
     entry_points={},
     )

Modified: z3c.relationfield/trunk/src/z3c/relationfield/README.txt
===================================================================
--- z3c.relationfield/trunk/src/z3c/relationfield/README.txt	2008-10-17 16:33:01 UTC (rev 92320)
+++ z3c.relationfield/trunk/src/z3c/relationfield/README.txt	2008-10-17 16:46:56 UTC (rev 92321)
@@ -36,9 +36,27 @@
 We make sure that this is the current site, so we can look up local
 utilities in it and so on::
 
+  >>> from zope.app.component.site import LocalSiteManager
+  >>> root.setSiteManager(LocalSiteManager(root))
   >>> from zope.app.component.hooks import setSite
   >>> setSite(root)
 
+For this site to work with ``z3c.relationship``, we need to supply two
+utilities. Firstly, an ``IIntIds``::
+
+  >>> from zope.app.intid import IntIds
+  >>> from zope.app.intid.interfaces import IIntIds
+  >>> root['intids'] = intids = IntIds() 
+  >>> sm = root.getSiteManager()
+  >>> sm.registerUtility(intids, provided=IIntIds)
+
+And a relation catalog::
+
+  >>> from z3c.relationfield import RelationCatalog
+  >>> from zc.relation.interfaces import ICatalog
+  >>> root['catalog'] = catalog = RelationCatalog()
+  >>> sm.registerUtility(catalog, provided=ICatalog)
+
 We'll add an item ``a`` to it::
 
   >>> root['a'] = Item()
@@ -99,17 +117,13 @@
 and the object that is being pointed at::
 
   >>> sorted(root['b'].rel.from_interfaces)
-  [<InterfaceClass zope.annotation.interfaces.IAttributeAnnotatable>, 
-   <InterfaceClass zope.app.container.interfaces.IContained>,
-   <InterfaceClass grokcore.component.interfaces.IContext>,
+  [<InterfaceClass zope.app.container.interfaces.IContained>,
    <InterfaceClass z3c.relationfield.interfaces.IHasRelations>, 
    <InterfaceClass z3c.relationfield.ftests.IItem>, 
    <InterfaceClass persistent.interfaces.IPersistent>]
 
   >>> sorted(root['b'].rel.to_interfaces)
-  [<InterfaceClass zope.annotation.interfaces.IAttributeAnnotatable>, 
-   <InterfaceClass zope.app.container.interfaces.IContained>, 
-   <InterfaceClass grokcore.component.interfaces.IContext>,
+  [<InterfaceClass zope.app.container.interfaces.IContained>, 
    <InterfaceClass z3c.relationfield.interfaces.IHasRelations>,
    <InterfaceClass z3c.relationfield.ftests.IItem>, 
    <InterfaceClass persistent.interfaces.IPersistent>]
@@ -117,20 +131,14 @@
 We can also get the interfaces in flattened form::
 
   >>> sorted(root['b'].rel.from_interfaces_flattened)
-  [<InterfaceClass zope.annotation.interfaces.IAnnotatable>, 
-   <InterfaceClass zope.annotation.interfaces.IAttributeAnnotatable>, 
-   <InterfaceClass zope.app.container.interfaces.IContained>,
-   <InterfaceClass grokcore.component.interfaces.IContext>, 
+  [<InterfaceClass zope.app.container.interfaces.IContained>,
    <InterfaceClass z3c.relationfield.interfaces.IHasRelations>,   
    <InterfaceClass z3c.relationfield.ftests.IItem>, 
    <InterfaceClass zope.location.interfaces.ILocation>, 
    <InterfaceClass persistent.interfaces.IPersistent>, 
    <InterfaceClass zope.interface.Interface>]
   >>> sorted(root['b'].rel.to_interfaces_flattened)
-  [<InterfaceClass zope.annotation.interfaces.IAnnotatable>, 
-   <InterfaceClass zope.annotation.interfaces.IAttributeAnnotatable>, 
-   <InterfaceClass zope.app.container.interfaces.IContained>,
-   <InterfaceClass grokcore.component.interfaces.IContext>,
+  [<InterfaceClass zope.app.container.interfaces.IContained>,
    <InterfaceClass z3c.relationfield.interfaces.IHasRelations>,
    <InterfaceClass z3c.relationfield.ftests.IItem>, 
    <InterfaceClass zope.location.interfaces.ILocation>, 

Modified: z3c.relationfield/trunk/src/z3c/relationfield/configure.zcml
===================================================================
--- z3c.relationfield/trunk/src/z3c/relationfield/configure.zcml	2008-10-17 16:33:01 UTC (rev 92320)
+++ z3c.relationfield/trunk/src/z3c/relationfield/configure.zcml	2008-10-17 16:46:56 UTC (rev 92321)
@@ -2,8 +2,7 @@
   xmlns="http://namespaces.zope.org/zope"
   xmlns:grok="http://namespaces.zope.org/grok">
 
-  <include package="grok" file="meta.zcml" />
-  <include package="grok" />
+  <include package="grokcore.component" file="meta.zcml" />
 
   <grok:grok package="."/>
   

Modified: z3c.relationfield/trunk/src/z3c/relationfield/ftesting.zcml
===================================================================
--- z3c.relationfield/trunk/src/z3c/relationfield/ftesting.zcml	2008-10-17 16:33:01 UTC (rev 92320)
+++ z3c.relationfield/trunk/src/z3c/relationfield/ftesting.zcml	2008-10-17 16:46:56 UTC (rev 92321)
@@ -5,30 +5,14 @@
    package="z3c.relationfield"
    >
 
-  <include package="grok" />
-  <include package="z3c.relationfield" />
+  <include package="zope.app.zcmlfiles" file="meta.zcml" />
+  <include package="zope.securitypolicy" file="meta.zcml" />
 
-  <!-- Typical functional testing security setup -->
-  <securityPolicy
-      component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
-      />
+  <include package="zope.app.zcmlfiles" />
+  <include package="zope.app.authentication" />
+  <include package="zope.app.keyreference" />
+  <include package="zope.app.intid" />
 
-  <unauthenticatedPrincipal
-      id="zope.anybody"
-      title="Unauthenticated User"
-      />
-  <grant
-      permission="zope.View"
-      principal="zope.anybody"
-      />
-  <principal
-      id="zope.mgr"
-      title="Manager"
-      login="mgr"
-      password="mgrpw"
-      />
+  <include package="z3c.relationfield" />
 
-  <role id="zope.Manager" title="Site Manager" />
-  <grantAll role="zope.Manager" />
-  <grant role="zope.Manager" principal="zope.mgr" />
 </configure>

Modified: z3c.relationfield/trunk/src/z3c/relationfield/ftests.py
===================================================================
--- z3c.relationfield/trunk/src/z3c/relationfield/ftests.py	2008-10-17 16:33:01 UTC (rev 92320)
+++ z3c.relationfield/trunk/src/z3c/relationfield/ftests.py	2008-10-17 16:46:56 UTC (rev 92321)
@@ -1,11 +1,12 @@
 import unittest
 
-import grok
+from persistent import Persistent
 
 import zope.interface
 
-from zope.app.intid import IntIds
-from zope.app.intid.interfaces import IIntIds
+from zope.interface import implements
+from zope.app.component.site import SiteManagerContainer
+from zope.app.container.btree import BTreeContainer
 
 from zc.relation.interfaces import ICatalog
 
@@ -20,20 +21,19 @@
     """
     rel = Relation(title=u"Relation")
  
-class Item(grok.Model):
+class Item(Persistent):
     """Test fixture used by README.txt
     """
-    grok.implements(IItem, IHasRelations)
+    implements(IItem, IHasRelations)
 
     def __init__(self):
         self.rel = None
 
-class TestApp(grok.Application, grok.Container):
+class TestApp(SiteManagerContainer, BTreeContainer):
     """Test fixture used by README.txt.
     """
-    grok.local_utility(IntIds, provides=IIntIds)
-    grok.local_utility(RelationCatalog, provides=ICatalog)
-  
+    pass
+
 def test_suite():
     globs = { 'TestApp': TestApp, 'IItem': IItem, 'Item': Item }
     readme = FunctionalDocFileSuite(



More information about the Checkins mailing list