[Zope] Re: Uploading photos into newly created objects

Peter Bengtsson peter at fry-it.com
Tue Oct 24 08:01:10 EDT 2006

Tres Seaver wrote:
> Hash: SHA1
> Peter Bengtsson wrote:
>> I'm trying to upload a Photo into a newly create object in my product
>> class. The code looks something like this::
>> def manage_addSomething(dispatcher, id, title, photofile):
>>     destination = dispatcher.Destination()
>>     instance = Something(id, title)
>>     destination._setObject(id, instance)
>>     obj = destination._getOb(id)
>>     # at this point, is 'obj' wrapped in aq stuff???
>>     _adder = obj.manage_addProduct['Photo'].manage_addPhoto
>>     _adder(id='', title='', file=photofile)
>> class Something(Folder):
>>     def __init__(self, id, title):
>>         self.id = id
>>         self.title = title
>> The error I get is:
>>   File "/home/peterbe/zope/zope285/Products/Photo/Photo.py", line 664,
>> in manage_addPhoto
>>     dest._setObject(id, photo)
>> AttributeError: _setObject
>> I'm using Photo product 1.2.3 but I don't think it matters if it's a
>> Photo I'm trying to add or any other product.
>> If I add the photo after the transaction has been completed in a
>> separate request it works fine to add the photo to the recently created
>> object.
>> Any idea?
> I don't actually use the 'Destination' bit, ever (in fact, I don't
> remember ever even seeing it used).  By inspection (in
> 'App.FacdtoryDispatcher'), it looks as though the metho returns an
> unwrapped object, which would be a Bad Thing.

Using just the dispatcher instead of dispatcher.Destination() didn't 
help but if you recommend, I'll stop using the Destination() thing from 
now on.

The reason _setObject() didn't work was really silly and even embarrasing.
The base class I used was NOT FOLDERISH! :)
In my example I used "Folder" as the base class. In reality I used a 
more oddly named class which confused me.
This happened because it was decided later to add photos into these kind 
of objects.

Thanks for the help Tres!

Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com

More information about the Zope mailing list