[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