On 4/26/11 7:40 AM, William Heymann wrote: > I am working on a patch for Blob support in OFS.Image/File and I am running > into a small problem. What is the correct way to detect if the current ZODB > supports blobs? > > If I just do > > self.data = ZODB.blob.Blob(data) > > in update_data in OFS.Image > > and a system does not support blobs > > I get this error > > Traceback (innermost last): > Module ZPublisher.Publish, line 134, in publish > Module Zope2.App.startup, line 301, in commit > Module transaction._manager, line 89, in commit > Module transaction._transaction, line 329, in commit > Module transaction._transaction, line 443, in _commitResources > Module ZODB.Connection, line 563, in commit > Module ZODB.Connection, line 619, in _commit > Module ZODB.Connection, line 662, in _store_objects > Unsupported: Storing Blobs in<ZEO.ClientStorage.ClientStorage object at > 0x3248590> is not supported. > > which does not even mention OFS.Image anywhere > > I tried putting in > > try: > self.data = ZODB.blob.Blob(data) > except zExceptions.Unsupported: > self.data = data > > and this of course did not work since the error is not actually occurring > here. > > What I am trying to do is make is to that Blobs are used if blobs are > supported and not used if they are not currently supported. For all of my > systems this is not an issue since I only support blobs but for a patch to be > accepeted it seems that it would need to work either way. > > I considered putting in a configuration switch in zope.conf to say if blobs > should be used or not so that it is up to the developer to set the switch and > enable blob support and the system would just give errors if setup incorrectly > but that does not seem like a good idea. You can get (persistent object)._p_jar.db().storage and check if it provides ZODB.interfaces.IBlobStorage.
---------- David Glick Web Developer [email protected] 206.286.1235x32 Groundwire: You Are Connected http://groundwire.org Online tools and strategies for the environmental movement. Sign up for Groundwire News! http://groundwire.org/email-capture _______________________________________________ Zope-Dev maillist - [email protected] https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
