[CMF-checkins] SVN: CMF/trunk/CMFDefault/ - added File interfaces

Yvo Schubbe y.2007- at wcm-solutions.de
Tue Jan 30 04:55:00 EST 2007


Log message for revision 72259:
  - added File interfaces

Changed:
  U   CMF/trunk/CMFDefault/File.py
  U   CMF/trunk/CMFDefault/interfaces/_content.py
  U   CMF/trunk/CMFDefault/tests/test_File.py

-=-
Modified: CMF/trunk/CMFDefault/File.py
===================================================================
--- CMF/trunk/CMFDefault/File.py	2007-01-30 09:47:15 UTC (rev 72258)
+++ CMF/trunk/CMFDefault/File.py	2007-01-30 09:54:58 UTC (rev 72259)
@@ -32,6 +32,8 @@
 from Products.GenericSetup.interfaces import IDAVAware
 
 from DublinCore import DefaultDublinCoreImpl
+from interfaces import IFile
+from interfaces import IMutableFile
 from permissions import ModifyPortalContent
 from permissions import View
 
@@ -80,11 +82,11 @@
     """A Portal-managed File.
     """
 
-    implements(IDAVAware)
+    implements(IMutableFile, IFile, IDAVAware)
     __implements__ = ( PortalContent.__implements__
                      , DefaultDublinCoreImpl.__implements__
                      )
-    
+
     effective_date = expiration_date = None
     _isDiscussable = 1
     icon = PortalContent.icon

Modified: CMF/trunk/CMFDefault/interfaces/_content.py
===================================================================
--- CMF/trunk/CMFDefault/interfaces/_content.py	2007-01-30 09:47:15 UTC (rev 72258)
+++ CMF/trunk/CMFDefault/interfaces/_content.py	2007-01-30 09:54:58 UTC (rev 72259)
@@ -102,3 +102,27 @@
 
     """ Updatable form of IFavorite.
     """
+
+
+class IFile(Interface):
+
+    """ Binary content.
+    """
+
+    def get_size():
+        """ Get the byte size of the file data.
+        """
+
+    def getContentType():
+        """ Get the MIME type of the file data.
+        """
+
+    def __str__():
+        """ Get the file data.
+        """
+
+
+class IMutableFile(IFile):
+
+    """ Updatable form of IFile.
+    """

Modified: CMF/trunk/CMFDefault/tests/test_File.py
===================================================================
--- CMF/trunk/CMFDefault/tests/test_File.py	2007-01-30 09:47:15 UTC (rev 72258)
+++ CMF/trunk/CMFDefault/tests/test_File.py	2007-01-30 09:54:58 UTC (rev 72259)
@@ -41,6 +41,14 @@
     def _makeOne(self, *args, **kw):
         return self._getTargetClass()(*args, **kw)
 
+    def test_z3interfaces(self):
+        from zope.interface.verify import verifyClass
+        from Products.CMFDefault.interfaces import IFile
+        from Products.CMFDefault.interfaces import IMutableFile
+
+        verifyClass(IFile, self._getTargetClass())
+        verifyClass(IMutableFile, self._getTargetClass())
+
     def test_getId_on_old_File_instance(self):
         file = self._makeOne('testfile')
         self.assertEqual(file.getId(), 'testfile')
@@ -159,4 +167,3 @@
 
 if __name__ == '__main__':
     unittest.main(defaultTest='test_suite')
-



More information about the CMF-checkins mailing list