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): = id
        self.title = title

The error I get is:
  File "/home/peterbe/zope/zope285/Products/Photo/", 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

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,
Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to