[Zope] Re: mapply & Z SQL Method | mapply bug

Christian Theune ct@gocept.com
Wed, 22 May 2002 14:47:40 +0200


ok. I am getting on that, what i currently see, is that the mapply() function
seems to misbehave significantly ...

The sqlmethod gets callen with the parameter src=RESPONSE and that must happen
somewhere in the mapply() function, which i can't really debug as it is very
hard to read ... any hints appreciated ...

Greetings

Christian

* Christian Theune <ct@gocept.com> [020522 13:30]:
> Hi.
> 
> I got a very weird problem with cduncan's mapply hint:
> 
> In a python product method i do following:
> 
> source_ = self.aq_acquire(self.source)
> data = mapply(source_, self.REQUEST.args, self.REQUEST,
>                   call_object,1,
>                   missing_name,
>                   dont_publish_class,
>                   self.REQUEST, bind=1)
> 
> Where data most of the time contains the result of the method, in the case of 
> ZSQLMethod objects, this will be a result instance.
> 
> Now the __call__ method of DA (defined in Shared.DC.ZRDB.DA) is defined as follows:
> 
>    def __call__(self, REQUEST=None, __ick__=None, src__=0, test__=0, **kw):
>         """Call the database method ..."""
> 
> And src__ gets sometimes set to ZServerHTTPResponse('') which evaluates to a true
> value and will return the source of the method instead of calling it. :/
> 
> Now i don't know how this happens, this actually doesn't look to be intended, as
> src__ is expected to be 0 or 1, but definitely not a Response object.
> 
> Hints or solutions?
> 
> Thanks
> 
> Christian
> 
> -- 
> Christian Theune - ct@gocept.com
> gocept gmbh & co.kg - schalaunische strasse 6 - 06366 koethen/anhalt
> tel.+49 3496 3099112 - fax.+49 3496 3099118 mob. - 0178 48 33 981
> 
> reduce(lambda x,y:x+y,[chr(ord(x)^42) for x in 'zS^BED\nX_FOY\x0b'])

-- 
Christian Theune - ct@gocept.com
gocept gmbh & co.kg - schalaunische strasse 6 - 06366 koethen/anhalt
tel.+49 3496 3099112 - fax.+49 3496 3099118 mob. - 0178 48 33 981

reduce(lambda x,y:x+y,[chr(ord(x)^42) for x in 'zS^BED\nX_FOY\x0b'])