[Checkins] SVN: zope.file/branches/0.6/ Merge changes from 0.6.1 to 0.6.2.
Ulrich Fouquet
cvs-admin at zope.org
Mon Jun 4 16:29:54 UTC 2012
Log message for revision 126570:
Merge changes from 0.6.1 to 0.6.2.
Not sure, whether this is really neccessary.
Changed:
U zope.file/branches/0.6/CHANGES.txt
U zope.file/branches/0.6/setup.py
U zope.file/branches/0.6/src/zope/file/README.txt
A zope.file/branches/0.6/src/zope/file/adapters.txt
U zope.file/branches/0.6/src/zope/file/browser.zcml
A zope.file/branches/0.6/src/zope/file/menus.zcml
U zope.file/branches/0.6/src/zope/file/tests.py
-=-
Modified: zope.file/branches/0.6/CHANGES.txt
===================================================================
--- zope.file/branches/0.6/CHANGES.txt 2012-06-04 15:54:22 UTC (rev 126569)
+++ zope.file/branches/0.6/CHANGES.txt 2012-06-04 16:29:49 UTC (rev 126570)
@@ -2,6 +2,14 @@
CHANGES
=======
+0.6.2 (2012-06-04)
+------------------
+
+- Moved menu-oriented registrations into new menus.zcml. This is now
+ loaded if zope.app.zcmlfiles is available only.
+
+- Increase test coverage.
+
0.6.1 (2012-01-26)
------------------
Modified: zope.file/branches/0.6/setup.py
===================================================================
--- zope.file/branches/0.6/setup.py 2012-06-04 15:54:22 UTC (rev 126569)
+++ zope.file/branches/0.6/setup.py 2012-06-04 16:29:49 UTC (rev 126570)
@@ -22,7 +22,7 @@
return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
setup(name='zope.file',
- version='0.6.1',
+ version='0.6.2',
author='Zope Corporation and Contributors',
author_email='zope-dev at zope.org',
description='Efficient File Implementation for Zope Applications',
Modified: zope.file/branches/0.6/src/zope/file/README.txt
===================================================================
--- zope.file/branches/0.6/src/zope/file/README.txt 2012-06-04 15:54:22 UTC (rev 126569)
+++ zope.file/branches/0.6/src/zope/file/README.txt 2012-06-04 16:29:49 UTC (rev 126570)
@@ -33,6 +33,17 @@
>>> f.parameters["charset"]
'us-ascii'
+Both, `parameters` and `mimeType` can optionally also be set when
+creating a `File` object:
+
+ >>> f2 = File(mimeType = "application/octet-stream",
+ ... parameters = dict(charset = "utf-8"))
+ >>> f2.mimeType
+ 'application/octet-stream'
+
+ >>> f2.parameters["charset"]
+ 'utf-8'
+
File objects also sport a `size` attribute that provides the number of
bytes in the file:
Copied: zope.file/branches/0.6/src/zope/file/adapters.txt (from rev 126566, zope.file/trunk/src/zope/file/adapters.txt)
===================================================================
--- zope.file/branches/0.6/src/zope/file/adapters.txt (rev 0)
+++ zope.file/branches/0.6/src/zope/file/adapters.txt 2012-06-04 16:29:49 UTC (rev 126570)
@@ -0,0 +1,54 @@
+========
+Adapters
+========
+
+The `zope.file` package provides some adapters to adapt file-like
+objects to `zope.filerepresentation` conform objects. There is a
+read-file adapter and a write-file adapter available. We start with a
+regular `File` object:
+
+ >>> from zope.file.file import File
+ >>> f = File(parameters=dict(charset='utf-8'))
+ >>> f.open('w').write("hello")
+
+Now we can turn this file into a read-only file which we can read and
+whose size we can get:
+
+ >>> from zope.filerepresentation.interfaces import IReadFile, IWriteFile
+ >>> r = IReadFile(f)
+ >>> r.read()
+ 'hello'
+
+ >>> r.size()
+ 5
+
+Writing to this read-only file is impossible, as the interface does
+not require it:
+
+ >>> r.write("some more content")
+ Traceback (most recent call last):
+ AttributeError: 'ReadFileAdapter' object has no attribute 'write'
+
+With a write-file the opposite happens. We can write but not read:
+
+ >>> w = IWriteFile(f)
+ >>> w.write("some more content")
+ >>> w.read()
+ Traceback (most recent call last):
+ AttributeError: 'WriteFileAdapter' object has no attribute 'read'
+
+The delivered adapters really comply with the promised interfaces:
+
+ >>> from zope.interface.verify import verifyClass, verifyObject
+ >>> from zope.file.adapters import ReadFileAdapter, WriteFileAdapter
+ >>> verifyClass(IReadFile, ReadFileAdapter)
+ True
+
+ >>> verifyObject(IReadFile, r)
+ True
+
+ >>> verifyClass(IWriteFile, WriteFileAdapter)
+ True
+
+ >>> verifyObject(IWriteFile, w)
+ True
Modified: zope.file/branches/0.6/src/zope/file/browser.zcml
===================================================================
--- zope.file/branches/0.6/src/zope/file/browser.zcml 2012-06-04 15:54:22 UTC (rev 126569)
+++ zope.file/branches/0.6/src/zope/file/browser.zcml 2012-06-04 16:29:49 UTC (rev 126570)
@@ -1,6 +1,7 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser"
+ xmlns:zcml="http://namespaces.zope.org/zcml"
i18n_domain="zope.file"
>
@@ -26,33 +27,17 @@
/>
<browser:view
- for=".interfaces.IFile"
- menu="zmi_views" title="Upload"
- name="edit.html"
- class=".upload.Reupload"
- permission="zope.ManageContent"
- />
-
- <browser:view
- for=".interfaces.IFile"
- menu="zmi_views" title="Content Type"
- name="contenttype.html"
- class=".contenttype.ContentTypeForm"
- permission="zope.ManageContent"
- />
-
- <browser:view
for="zope.browser.interfaces.IAdding"
name="zope.file.File"
class=".upload.Upload"
permission="zope.ManageContent"
/>
- <browser:addMenuItem
- for="zope.browser.interfaces.IAdding"
- view="zope.file.File"
- title="Zope File"
- class="zope.file.file.File"
- permission="zope.ManageContent"
+ <!-- Register menu related stuff if z.a.zcmlfiles is available only -->
+ <include
+ zcml:condition="installed zope.app.zcmlfiles"
+ package="zope.file"
+ file="menus.zcml"
/>
+
</configure>
Copied: zope.file/branches/0.6/src/zope/file/menus.zcml (from rev 126566, zope.file/trunk/src/zope/file/menus.zcml)
===================================================================
--- zope.file/branches/0.6/src/zope/file/menus.zcml (rev 0)
+++ zope.file/branches/0.6/src/zope/file/menus.zcml 2012-06-04 16:29:49 UTC (rev 126570)
@@ -0,0 +1,35 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:browser="http://namespaces.zope.org/browser"
+ i18n_domain="zope.file"
+ >
+
+ <!--
+ Menu related configuration.
+ Loaded from configure.zcml only if zope.app.zcmlfiles is available.
+ -->
+ <browser:view
+ for=".interfaces.IFile"
+ menu="zmi_views" title="Upload"
+ name="edit.html"
+ class=".upload.Reupload"
+ permission="zope.ManageContent"
+ />
+
+ <browser:view
+ for=".interfaces.IFile"
+ menu="zmi_views" title="Content Type"
+ name="contenttype.html"
+ class=".contenttype.ContentTypeForm"
+ permission="zope.ManageContent"
+ />
+
+ <browser:addMenuItem
+ for="zope.browser.interfaces.IAdding"
+ view="zope.file.File"
+ title="Zope File"
+ class="zope.file.file.File"
+ permission="zope.ManageContent"
+ />
+
+</configure>
Modified: zope.file/branches/0.6/src/zope/file/tests.py
===================================================================
--- zope.file/branches/0.6/src/zope/file/tests.py 2012-06-04 15:54:22 UTC (rev 126569)
+++ zope.file/branches/0.6/src/zope/file/tests.py 2012-06-04 16:29:49 UTC (rev 126570)
@@ -28,6 +28,7 @@
return unittest.TestSuite((
doctest.DocFileSuite("README.txt"),
doctest.DocFileSuite("browser.txt"),
+ fromDocFile("adapters.txt"),
fromDocFile("contenttype.txt"),
fromDocFile("download.txt"),
fromDocFile("upload.txt"),
More information about the checkins
mailing list