From 2ed974e68a73f801d6ecaa636fbb22fb63b9f9c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9gory=20Wisniewski?= <gregory@nexedi.com>
Date: Mon, 22 Feb 2010 18:08:31 +0000
Subject: [PATCH] Add loadEx prototype.

Version support is not implemented, always return an empty version string.

git-svn-id: https://svn.erp5.org/repos/neo/trunk@1825 71dcc9de-d417-0410-9af5-da40c76e7ee4
---
 neo/client/Storage.py | 6 ++++++
 neo/client/app.py     | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/neo/client/Storage.py b/neo/client/Storage.py
index bec43272..30be6129 100644
--- a/neo/client/Storage.py
+++ b/neo/client/Storage.py
@@ -119,6 +119,12 @@ class Storage(BaseStorage.BaseStorage,
     def commitVersion(self, src, dest, transaction):
         return self.app.commitVersion(src, dest, transaction)
 
+    def loadEx(self, oid, version):
+        try:
+            return self.app.loadEx(oid=oid, version=version)
+        except NEOStorageNotFoundError:
+            raise POSException.POSKeyError(oid)
+
     def __len__(self):
         return self.app.getStorageSize()
 
diff --git a/neo/client/app.py b/neo/client/app.py
index a0638595..2c5194b9 100644
--- a/neo/client/app.py
+++ b/neo/client/app.py
@@ -979,6 +979,10 @@ class Application(object):
             raise StorageTransactionError(self, transaction)
         return '', []
 
+    def loadEx(self, oid, version):
+        data, serial = self.load(oid=oid)
+        return data, serial, ''
+
     def __del__(self):
         """Clear all connection."""
         # Due to bug in ZODB, close is not always called when shutting
-- 
2.30.9