| <type 'exceptions.AttributeError'> | Python 2.5.2: /usr/local/bin/python2.5 Mon Mar 15 23:55:51 2010 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| /usr/local/lib/python2.5/site-packages/flup-1.0.1-py2.5.egg/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object at 0x124c3f50>) |
| 556 """Runs the handler, flushes the streams, and ends the request.""" |
| 557 try: |
| 558 protocolStatus, appStatus = self.server.handler(self) |
| 559 except: |
| 560 traceback.print_exc(file=self.stderr) |
| protocolStatus undefined, appStatus undefined, self = <flup.server.fcgi_base.Request object at 0x124c3f50>, self.server = <flup.server.fcgi.WSGIServer object at 0x2b994f4fded0>, self.server.handler = <bound method WSGIServer.handler of <flup.server.fcgi.WSGIServer object at 0x2b994f4fded0>> |
| /usr/local/lib/python2.5/site-packages/flup-1.0.1-py2.5.egg/flup/server/fcgi_base.py in handler(self=<flup.server.fcgi.WSGIServer object at 0x2b994f4fded0>, req=<flup.server.fcgi_base.Request object at 0x124c3f50>) |
| 1114 try: |
| 1115 try: |
| 1116 result = self.application(environ, start_response) |
| 1117 try: |
| 1118 for data in result: |
| result = None, self = <flup.server.fcgi.WSGIServer object at 0x2b994f4fded0>, self.application = <function app at 0x2b994f505320>, environ = {'DOCUMENT_ROOT': '/srv/www/lighttpd/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_HOST': 'blog.craft-works.jp', 'HTTP_PRAGMA': 'no-cache', ...}, start_response = <function start_response at 0x124dc0c8> |
| /srv/www/lighttpd/blogtest/lib/cfw/controller/facade.py in app(env={'DOCUMENT_ROOT': '/srv/www/lighttpd/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_HOST': 'blog.craft-works.jp', 'HTTP_PRAGMA': 'no-cache', ...}, res=<function start_response at 0x124dc0c8>) |
| 60 def runfcgi(urls,reloadHandler=None,debug=False,serverErrorFunc=defaultServerErrorFunc): |
| 61 def app(env,res): |
| 62 return handle(urls,env,reloadHandler,debug,serverErrorFunc)(env,res) |
| 63 |
| 64 from flup.server.fcgi import WSGIServer |
| global handle = <function handle at 0x2b994f5050c8>, urls = ('/editComment', 'controller.pc.editComment.editComment.Main', '/userList', 'controller.pc.userList.userList.Main', '/manage', 'controller.pc.manage.manage.Main', '/login', 'controller.pc.login.login.Main', '/editCategory', 'controller.pc.editCategory.editCategory.Main', '/editEntry', 'controller.pc.editEntry.editEntry.Main', '/editPref', 'controller.pc.editPref.editPref.Main', '/rss', 'controller.pc.rss.rss.Main', '/commentrss', 'controller.pc.rss.comment.Main', '/css', 'controller.pc.css.css.Main', ...), env = {'DOCUMENT_ROOT': '/srv/www/lighttpd/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_HOST': 'blog.craft-works.jp', 'HTTP_PRAGMA': 'no-cache', ...}, reloadHandler = None, debug = True, serverErrorFunc = <function defaultServerErrorFunc at 0x2b994f505050>, res = <function start_response at 0x124dc0c8> |
| /srv/www/lighttpd/blogtest/lib/cfw/controller/facade.py in handle(mapping=('/editComment', 'controller.pc.editComment.editComment.Main', '/userList', 'controller.pc.userList.userList.Main', '/manage', 'controller.pc.manage.manage.Main', '/login', 'controller.pc.login.login.Main', '/editCategory', 'controller.pc.editCategory.editCategory.Main', '/editEntry', 'controller.pc.editEntry.editEntry.Main', '/editPref', 'controller.pc.editPref.editPref.Main', '/rss', 'controller.pc.rss.rss.Main', '/commentrss', 'controller.pc.rss.comment.Main', '/css', 'controller.pc.css.css.Main', ...), env={'DOCUMENT_ROOT': '/srv/www/lighttpd/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_HOST': 'blog.craft-works.jp', 'HTTP_PRAGMA': 'no-cache', ...}, reloadHandler=None, debug=True, serverErrorFunc=<function defaultServerErrorFunc at 0x2b994f505050>) |
| 40 cls = getattr(mod, cls) |
| 41 if debug==True: |
| 42 return cls()._prepare(env)._main() |
| 43 else: |
| 44 try: |
| cls = <class controller.pc.dispatcher.Main at 0x12305a10>, )._prepare = <unbound method Main._prepare>, env = {'DOCUMENT_ROOT': '/srv/www/lighttpd/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_HOST': 'blog.craft-works.jp', 'HTTP_PRAGMA': 'no-cache', ...}, )._main undefined |
| /srv/www/lighttpd/blogtest/controller/pc/dispatcher.py in _main(self=<controller.pc.dispatcher.Main instance at 0x124dbe60>) |
| 23 handler = controller.pc.entryList.entryList.Main() |
| 24 handler.env = self.env |
| 25 return handler._main() |
| 26 elif dst.find("/")==-1: |
| 27 #「/userid」でのアクセスなので、「/userid/」にリダイレクト |
| handler = <controller.pc.entryList.entryList.Main instance at 0x124dbb90>, handler._main = <bound method Main._main of <controller.pc.entryList.entryList.Main instance at 0x124dbb90>> |
| /srv/www/lighttpd/blogtest/lib/cfw/controller/appbase.py in _main(self=<controller.pc.entryList.entryList.Main instance at 0x124dbb90>) |
| 52 self._params = self.FieldStorage() |
| 53 try: |
| 54 self.preprocess() |
| 55 except "PageNotFound": |
| 56 pass |
| self = <controller.pc.entryList.entryList.Main instance at 0x124dbb90>, self.preprocess = <bound method Main.preprocess of <controller.pc.entryList.entryList.Main instance at 0x124dbb90>> |
| /srv/www/lighttpd/blogtest/lib/cfw/controller/common.py in preprocess(self=<controller.pc.entryList.entryList.Main instance at 0x124dbb90>) |
| 93 #if self.getParam("__mode__")=="delete": |
| 94 if not self._processed: |
| 95 self.process(session) |
| 96 |
| 97 def prepareForm(self,session): |
| self = <controller.pc.entryList.entryList.Main instance at 0x124dbb90>, self.process = <bound method Main.process of <controller.pc.entryList.entryList.Main instance at 0x124dbb90>>, session = <cfw.controller.session.Session instance at 0x124dbb48> |
| /srv/www/lighttpd/blogtest/controller/pc/entryList/entryList.py in process(self=<controller.pc.entryList.entryList.Main instance at 0x124dbb90>, session=<cfw.controller.session.Session instance at 0x124dbb48>) |
| 27 recordCount=0 |
| 28 if categoryid ==None: |
| 29 recordCount = Entry.select(Entry.q.userID==user.id).count() |
| 30 else: |
| 31 selectedCategory = Category.select(Category.q.id==categoryid)[0] |
| recordCount = 0, global Entry = <class 'model.entry.Entry'>, Entry.select = <bound method DeclarativeMeta.select of <class 'model.entry.Entry'>>, Entry.q = Entry, Entry.q.userID = Entry.UserID, user = None, user.id undefined |
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'id'
args =
("'NoneType' object has no attribute 'id'",)
message =
"'NoneType' object has no attribute 'id'"