[Checkins] SVN: zopyx.versioning/trunk/zopyx/versioning/ updated
Andreas Jung
andreas at andreas-jung.com
Sat Jul 3 06:31:15 EDT 2010
Log message for revision 114127:
updated
Changed:
A zopyx.versioning/trunk/zopyx/versioning/facade.py
U zopyx.versioning/trunk/zopyx/versioning/interfaces.py
-=-
Added: zopyx.versioning/trunk/zopyx/versioning/facade.py
===================================================================
--- zopyx.versioning/trunk/zopyx/versioning/facade.py (rev 0)
+++ zopyx.versioning/trunk/zopyx/versioning/facade.py 2010-07-03 10:31:15 UTC (rev 114127)
@@ -0,0 +1,26 @@
+
+import riparse
+from zope.interface import implements
+from interfaces import IVersioning
+
+class VersioningFacade(object):
+
+ implements(IVersioning)
+
+ def getStorage(self, dsn):
+
+ r = riparse.parse(dsn)
+ if r['scheme'] == 'mongo':
+ from zopyx.versioning.storages.mongodb.storage import MongoDBStorage
+ return MongoDBStorage(host=r['host'],
+ port=int(r['port']),
+ database=r['path'][0])
+
+ raise ValueError('Unsupported schema: %s' % r['scheme'])
+
+
+if __name__ == '__main__':
+
+ print VersioningFacade().getStorage('mongo://localhost:10200/foo')
+ print VersioningFacade().getStorage('zodb://localhost:10200/foo')
+
Modified: zopyx.versioning/trunk/zopyx/versioning/interfaces.py
===================================================================
--- zopyx.versioning/trunk/zopyx/versioning/interfaces.py 2010-07-03 10:27:20 UTC (rev 114126)
+++ zopyx.versioning/trunk/zopyx/versioning/interfaces.py 2010-07-03 10:31:15 UTC (rev 114127)
@@ -75,6 +75,12 @@
# XXX to be written#
+class IVersioning(Interface):
+
+ def getStorage(dsn):
+ """ Provide access to a version storage based on a DSN """
+
+
class ILookup(Interface):
def getObjectById(id):
More information about the checkins
mailing list