Commit 1d7f6839 authored by Tres Seaver's avatar Tres Seaver

Merge master.

parents cf253dd1 cfe95704
...@@ -2,15 +2,18 @@ ...@@ -2,15 +2,18 @@
Change History Change History
================ ================
4.0.0a5 (unreleased) 4.0.0b1 (unreleased)
===================== =====================
- Added support for Python 3.2 / 3.3. - Added support for Python 3.2 / 3.3.
- Include the filename in the exception message to support debugging in case
``loadBlob`` does not find the file.
4.0.0a4 (2012-12-17) 4.0.0a4 (2012-12-17)
===================== =====================
- Enforced usage of bytes for '_p_serial' of persistent objects (fixes - Enforced usage of bytes for ``_p_serial`` of persistent objects (fixes
compatibility with recent persistent releases). compatibility with recent persistent releases).
4.0.0a3 (2012-12-01) 4.0.0a3 (2012-12-01)
......
The ZODB/ZEO Programming Guide has been moved into it's own package The ZODB/ZEO Programming Guide has been moved into it's own package
(zodbguide) and published at http://docs.zope.org/zodb. (zodbdocs) and published at http://docs.zope.org/zodb.
...@@ -651,7 +651,7 @@ class BlobStorageMixin(object): ...@@ -651,7 +651,7 @@ class BlobStorageMixin(object):
""" """
filename = self.fshelper.getBlobFilename(oid, serial) filename = self.fshelper.getBlobFilename(oid, serial)
if not os.path.exists(filename): if not os.path.exists(filename):
raise POSKeyError("No blob file", oid, serial) raise POSKeyError("No blob file at %s" % filename, oid, serial)
return filename return filename
def openCommittedBlobFile(self, oid, serial, blob=None): def openCommittedBlobFile(self, oid, serial, blob=None):
......
...@@ -393,7 +393,7 @@ And we shouldn't be able to read the data that we saved: ...@@ -393,7 +393,7 @@ And we shouldn't be able to read the data that we saved:
>>> blob_storage.loadBlob(blob._p_oid, s1) >>> blob_storage.loadBlob(blob._p_oid, s1)
Traceback (most recent call last): Traceback (most recent call last):
... ...
POSKeyError: 'No blob file' POSKeyError: 'No blob file at <BLOB STORAGE PATH>'
Of course the old data should be unaffected: Of course the old data should be unaffected:
...@@ -410,7 +410,7 @@ Similarly, the new object wasn't added to the storage: ...@@ -410,7 +410,7 @@ Similarly, the new object wasn't added to the storage:
>>> blob_storage.loadBlob(blob._p_oid, s2) >>> blob_storage.loadBlob(blob._p_oid, s2)
Traceback (most recent call last): Traceback (most recent call last):
... ...
POSKeyError: 'No blob file' POSKeyError: 'No blob file at <BLOB STORAGE PATH>'
.. clean up .. clean up
......
...@@ -721,7 +721,11 @@ def storage_reusable_suite(prefix, factory, ...@@ -721,7 +721,11 @@ def storage_reusable_suite(prefix, factory,
"blob_connection.txt", "blob_importexport.txt", "blob_connection.txt", "blob_importexport.txt",
"blob_transaction.txt", "blob_transaction.txt",
setUp=setup, tearDown=zope.testing.setupstack.tearDown, setUp=setup, tearDown=zope.testing.setupstack.tearDown,
optionflags=doctest.ELLIPSIS, checker=ZODB.tests.util.checker checker=zope.testing.renormalizing.RENormalizing([
(re.compile(r'([a-zA-Z]:)?\%(sep)s.*\%(sep)sblobs\%(sep)s.*\.blob'
% dict(sep=os.path.sep)), '<BLOB STORAGE PATH>')
]),
optionflags=doctest.ELLIPSIS,
)) ))
if test_packing: if test_packing:
suite.addTest(doctest.DocFileSuite( suite.addTest(doctest.DocFileSuite(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment