[Zope] too many arguments TypeError problem

Peter Bengtsson mail@peterbe.com
Wed, 22 Aug 2001 14:49:04 +0200


Consider this class

class CImageObject(Photo.Photo):

    def tag(self, REQUEST=None, display=None,
                 pdcookie=None, height=None,
                 width=None, alt=None, **args):

        print "proof that CImageObject is the class used"

        [...my magic on top of Photo...]

        # the below line is line 48
        Photo.Photo.tag(self,REQUEST, display,pdcookie,
height,width,alt,args)


The Photo class is the Photo product.
The tag function looks like this:

    def __call__(self, REQUEST=None, display=None,
                        pdcookie=None, height=None,
                        width=None, alt=None, **args):
          " bla bla bla "
    tag = __call__


My class is called from DTML like this
<dtml-var "an_image.tag(border=1,alt='',width=9)">

That's when I get the strange error:

Error Type: TypeError
Error Value: too many arguments; expected 7, got 8

(Object: tag)
  File C:\Program
Files\zope\lib\python\Products\n4a\medialibrary_zb\medialibrarydata.py, line
48, in tag
    (Object: 200110.jpeg)
TypeError: (see above)



If you count them, they match like they should.
Our class used to subclass the Image product before, in which's tag() method
also has 8 arguments.


Does anybody know what's going on?

Cheers,
Peter