TypeError: 'int' object is not callable

Dan Bishop danb_83 at yahoo.com
Thu Mar 22 20:59:47 EDT 2007


On Mar 22, 6:54 pm, AWasile... at gmail.com wrote:
> I'm trying to test a few different approaches to displaying pages via
> Cherrypy and I'm not having much luck.  Here is my code so far:
>
> import sys, cherrypy, html
>
> class Root:
>         @cherrypy.expose
>         def index(self, pageid = None):
>                 selection = html.Page()
>                 return  selection.input()
>
> cherrypy.config.update({'server.socket_port': 2572, 'log.screen':
> False})
> cherrypy.quickstart(Root())
>
> and here is the html.py file that I import:
>
> class Page:
>         def input(self,dex=None):
>                 if dex == None:
>                         return 404(dex)
>                 else:
>                         return "Something else?"
>
>         def err404(self,whatitis="N/A"):
>                 return """<body bgcolor="#666666">
> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
>
> <center>Sorry the page: """ + str(whatitis) + """ does not exist.<br /
>
> <img src="/files/images/404.png" alt="Page cannot be found."></center>
> </body>"""
>
> and here is the error I get when trying to run this:
>
> 500 Internal Server Error
> The server encountered an unexpected condition which prevented it from
> fulfilling the request.
>
> Traceback (most recent call last):
>   File "/home2/awasilenko/lib/python2.4/cherrypy/_cprequest.py", line
> 342, in respond
>     cherrypy.response.body = self.handler()
>   File "/home2/awasilenko/lib/python2.4/cherrypy/_cpdispatch.py", line
> 15, in __call__
>     return self.callable(*self.args, **self.kwargs)
>   File "/home2/awasilenko/webapps/cp/site.py", line 7, in index
>     return  selection.input()
>   File "/home2/awasilenko/webapps/cp/html.py", line 4, in input
>     return 404(dex)
> TypeError: 'int' object is not callable
>
> I know this isn't a Cherrypy issue since I have made other pages work,
> I'm just making a dumb mistake somewhere.  My plan is to eventually be
> able to pass dex to the input def in the page class so it can display
> the right page.  Right now I am just trying to make ANY thing show up,
> what should happen is since I'm not passing anything everything should
> be None and the 404 page should pop up.  I would also like to make the
> 404 page print the page that was requested, I have already coded the
> return but have not "connected" it yet, one step at a time...

404 is an integer literal; you can't use it as a function name.




More information about the Python-list mailing list