Matei Conovici wrote:
Hi!
I'm trying to create a folder and put some images in it. My DTML looks somewhat like this:
<!--#call "manage_addFolder('somefolder')" --> <!--#with "_['somefolder']" --> <!--#call "manage_addImage('zz.gif', imagefile)" --> <!--#/with -->
My problem is that, sometimes the above works but mostly it doesn't :-), and I get something like this:
-- Error Type: AttributeError Error Value: commit_sub
[...]
Traceback (innermost last): File /root/Zope-2.0.0b5-linux2-x86/lib/python/ZPublisher/Publish.py, line 209, in publish_module File /root/Zope-2.0.0b5-linux2-x86/lib/python/ZPublisher/Publish.py, line 179, in publish File /root/Zope-2.0.0b5-linux2-x86/lib/python/Zope/__init__.py, line 199, in zpublisher_exception_hook (Object: ElementWithAttributes) File /root/Zope-2.0.0b5-linux2-x86/lib/python/ZPublisher/Publish.py, line 169, in publish File /root/Zope-2.0.0b5-linux2-x86/lib/python/ZODB/Transaction.py, line 247, in commit AttributeError: (see above) --
I assume I'm getting this because the transaction with the ZODB for _addFolder does not get (correctly) commit()-ed and the folder object is not yet there when I try to add the immages.
That's a good guess, but that's not the problem.
This happens with current b5 version and b1 as well...
Are you sure you are showing is everthing? Is there any SQL going on here? You can't currently use subtransactions with SQL methods. Another thing is that Zope 2.0.0 final doesn't use subtransactions for files or images unless they are bigger than 128K. So if your images are small, I suspect the problem will go away in Zope 2 final. In Zope 2 final, you can also prevent use of sub-transactions by using the ":string" form variable type when you upload your data.
PS: As a general zope question, is it possible to explicitly ask for commit() in a SQL method ?
Nope, at it wouldn't help in this case anyway. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.