python - webapp2/wsgiref: "multiple values for keyword argument" when running on WSGI server -


the following code raises error if run on wsgi server, not otherwise.

class handler(webapp2.requesthandler):     def __init__(self, template, *args, **kwargs):         print "kwargs in handler:", kwargs         self.template = template         super(handler, self).__init__(*args, **kwargs)  class mainhandler(handler):     def __init__(self, *args, **kwargs):         template = jinja_env.get_template("helloworld.html")         print "kwargs in mainhandler:", kwargs         super(mainhandler, self).__init__(template= template, *args, **kwargs) 

if run on server, doing

from wsgiref.simple_server import make_server server = make_server('localhost', 8000, app);  while true:     server.handle_request() 

and trying visit localhost:8080, get

kwargs in mainhandler: {} error:root:__init__() got multiple values keyword argument 'template' traceback (most recent call last):   file "/media/data/code/kaiwarta/env/local/lib/python2.7/site-packages/webapp2.py", line 1535, in __call__     rv = self.handle_exception(request, response, e)   file "/media/data/code/kaiwarta/env/local/lib/python2.7/site-packages/webapp2.py", line 1529, in __call__     rv = self.router.dispatch(request, response)   file "/media/data/code/kaiwarta/env/local/lib/python2.7/site-packages/webapp2.py", line 1278, in default_dispatcher     return route.handler_adapter(request, response)   file "/media/data/code/kaiwarta/env/local/lib/python2.7/site-packages/webapp2.py", line 1101, in __call__     handler = self.handler(request, response)   file "main.py", line 24, in __init__     super(mainhandler, self).__init__(template= template, *args, **kwargs) typeerror: __init__() got multiple values keyword argument 'template' 

(note kwargs empty before being passed handler.)

but if don't start server , foo = mainhandler() instead, runs expected:

kwargs in mainhandler: {} kwargs in handler: {} 

what's going wrong in first case?


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -