[PyQt] SIP 4.8: regression in div/truediv

Phil Thompson phil at riverbankcomputing.co.uk
Fri Jul 24 22:53:23 BST 2009


On Fri, 24 Jul 2009 20:43:10 +0200, Giovanni Bajo <rasky at develer.com>
wrote:
> Hello,
> 
> I'm wrapping with SIP a global C++ operator/() overload, whose first 
> argument is a SIP-wrapped class (within the same module).
> 
> With SIP 4.7, this function is called when I use "/" in Python, both 
> with standard division behaviour and within modules using "from 
> __future__ import division".
> 
> With SIP 4.8, this function is called only within modules with standard 
> division behaviour. If a module uses the future directive, using "/" in 
> Python raises an exception saying that there is no valid operand types.
> 
> I believe that the problem is that the truediv_slot of the object is not 
> being filled. Is this a wanted change in behaviour? And if so, how am I 
> supposed to fix it?

"/" is the same as __div__. Define __truediv__ for true division.

Phil


More information about the PyQt mailing list