David Bear
David.Bear at asu.edu
Fri Jun 2 15:06:32 EDT 2006
I'm getting really frustrated. I have a python program that works. Then make modifications that should affect things -- then it breaks. I've got to figure a better way of debugging. Here's an example: I have a python program: def _return_psp(req, ad, tmpl="empty.pspml"): ''' returns a psp template with all vars and whatever is in ad ''' ad.setdefault('title', 'Empty Page') vars = {"ad": ad} return psp.PSP(req, tmpl, vars=vars) def getDebug(req): ''' returns values for debug and object introspection ''' form = req.form info = [] info.append('request uri %s ' % req.uri) info.append('req.connection.base_server: %s ' % req.connection.base_server) bodycontent = ''.join(info) return _return_psp(req, dict(body=bodycontent, title="Debug Page"), "empty.pspml") # if __name__ == "__main__": # sys.exit(1) I have a psp file called empty.pspml that looks like this: ----------- <% """ psp """ try: title = ad['title'] except KeyError: title = "Key Error in AD" try: dbg = ad['body'] except KeyError: dbg = 'Didnt have debug Info' %> <html> <head> <title> <%= title %> </title> </head> <body> <h1><%= title %></h1> <hr> <%= dbg %> <hr> </body> </html> ---------- Okay. It all works the way I expect. Calling the url mypython.py/getDebug returns the results I expect. Then I add a function like this: def index(req): return _return_psp(req, dict(body="this is stupid", title="stupid title")) Now everything apache returns is a 404 (but the apache not found page is NOT returned, ie the body content of the http response is empty) Looking in my apache logs all I see is the modpython is reimported a module: Fri Jun 02 11:51:21 2006] [notice] mod_python: (Re)importing module 'mod_python.publisher' [Fri Jun 02 11:51:21 2006] [notice] mod_python: (Re)importing module 'mypthon' with path set to '['/htdocs/mp']' There's got to be a better way. I comment out all the import statements the are modpython specific, and use a command line python session to import the module -- it imports without errors. I was thinking importing it would reveal any syntactic errors... Any other pointers on debug methods? -- David Bear phone: 480-965-8257 fax: 480-965-9189 College of Public Programs/ASU Wilson Hall 232 Tempe, AZ 85287-0803 "Beware the IP portfolio, everyone will be suspect of trespassing"
|