On Mar 22, 8:59 pm, "Dan Bishop" <[EMAIL PROTECTED]> wrote: > On Mar 22, 6:54 pm, [EMAIL PROTECTED] 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.- Hide quoted > text - > > - Show quoted text -
I saw that 404 was turning colors in my editor when I used it, that's why I changed the def name, I just forgot to change it in the input def also. Here is the working code now: class Page: def input(self,dex=None): if dex == None: return self.err404(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 /> <center>Sorry the page: """ + str(whatitis) + """ does not exist.<br / > <img src="/files/images/404.png" alt="Page cannot be found."></center> </body>""" Now I can work on getting the other stuff working. I can't believe something that stupid was holding me up, oh well :) -- http://mail.python.org/mailman/listinfo/python-list