[z3-checkins] r7257 - z3/bdbxml

paul at codespeak.net paul at codespeak.net
Mon Nov 15 18:23:23 MET 2004


Author: paul
Date: Mon Nov 15 18:23:23 2004
New Revision: 7257

Modified:
   z3/bdbxml/__init__.py
   z3/bdbxml/configure.zcml
   z3/bdbxml/xmlview.py
Log:
Broken

Modified: z3/bdbxml/__init__.py
==============================================================================
--- z3/bdbxml/__init__.py	(original)
+++ z3/bdbxml/__init__.py	Mon Nov 15 18:23:23 2004
@@ -2,7 +2,9 @@
 
 __docformat__ = 'restructuredtext'
 
-from zope.interface import Interface
+from interfaces import IDBXMLDocument
+from dbxmlfolder import BDBXMLDA
+
 from zope.component.interfaces import IFactory
 from zope.app import zapi
 from zope.app.container.interfaces import IContainer
@@ -14,9 +16,6 @@
 from zope.component.interfaces import IFactory
 
 
-class IDBXMLDocument(Interface):
-    """Take an XML document from DBXML and make a component"""
-
 class IDBXMLFolder(IFolder):
     """Marker for folders whose contained items keys are case insensitive.
 
@@ -35,9 +34,16 @@
 
     implements(IDBXMLDocument)
 
-    title="Class title"
-    body = "Class body"
+    #ctitle="Class DBMLDocument title"
+
+    def __init__(self, xmldoc):
+        self.ctitle = "Instance title"
 
+    def title(self):
+        return self.ctitle # Doesn't work for self.xmldoc
+    
+    def asXML(self):
+        return self.xmldoc.getContent()
 
 class DBXMLFolder(Contained):
     """Sample container implementation suitable for testing.
@@ -49,6 +55,7 @@
 
     def __init__(self):
         self.__data = self._newContainerData()
+        self.bdbxmlda = BDBXMLDA("/tmp/foo")
 
     def _newContainerData(self):
         """Construct an item-data container
@@ -62,7 +69,9 @@
 
 	# contained objects should be located
 
-        first = DBXMLDocument()
+        doc = self.bdbxmlda.getID("1")
+        first = DBXMLDocument(doc)
+        first.xmldoc = doc
 	locate(first, self, 'first')
 
         second = DBXMLDocument()

Modified: z3/bdbxml/configure.zcml
==============================================================================
--- z3/bdbxml/configure.zcml	(original)
+++ z3/bdbxml/configure.zcml	Mon Nov 15 18:23:23 2004
@@ -8,8 +8,8 @@
 	      class=".xmlview.XmlView" 
 	      permission="zope.Public" />
 
-<content class="dbxmlfolder.DBXMLFolder">
-  <implements interface="dbxmlfolder.IDBXMLFolder"/>
+<content class="bdbxml.DBXMLFolder">
+  <implements interface="bdbxml.IDBXMLFolder"/>
 
   <!-- ignore security just for test purposes -->
   <allow interface="zope.app.container.interfaces.IContainer" />
@@ -49,7 +49,12 @@
   name="details.html"/>
 
 <content class=".DBXMLDocument">
-  <implements interface="dbxmlfolder.IDBXMLDocument"/>
+  <implements interface="bdbxml.IDBXMLDocument"/>
+</content>
+
+<content class=".DBXMLDocument">
+	 <require permission="zope.Public" 
+	 attributes="title body asXML" /> 
 </content>
 
 </configure>

Modified: z3/bdbxml/xmlview.py
==============================================================================
--- z3/bdbxml/xmlview.py	(original)
+++ z3/bdbxml/xmlview.py	Mon Nov 15 18:23:23 2004
@@ -1,6 +1,16 @@
 
 from zope.app.publisher.browser import BrowserView
+from zope.app.traversing.api import getParent
 
 class XmlView(BrowserView):
     def __call__(self):
-        return "lslsl"
+        d = getParent(self.context)
+        #f = self.__parent__.__parent__.bdbxmlda
+        #result = f.transform(d, None)
+        return self.context.title()
+
+    def xmltitle(self):
+        """Fake"""
+        d = getParent(self.context)
+
+        return self.context.title


More information about the z3-checkins mailing list