From: Julian B. <ga...@gm...> - 2011-11-04 18:25:43
|
Has anyone deployed a Flask app using modjy, the WSGI gateway that ships with Jython? I get the following exception: modjy.modjy_exceptions.NoCallable: No callable named 'handler' in /usr/local/apache-tomcat-6.0.33/webapps/modjy_webapp//demo.py My understanding was the WSGI applications can be called by importing the app as application. I'm using the app_import_name mechanism described here: http://www.jython.org/jythonbook/en/1.0/SimpleWebApps.html#wsgi-and-modjy Thanks, Julian |
From: Alan K. <jyt...@xh...> - 2011-11-04 18:35:00
|
[Julian] > I get the following exception: > > modjy.modjy_exceptions.NoCallable: No callable named 'handler' in > /usr/local/apache-tomcat-6.0.33/webapps/modjy_webapp//demo.py > > My understanding was the WSGI applications can be called by importing the > app as application. I'm using the app_import_name mechanism described > here: http://www.jython.org/jythonbook/en/1.0/SimpleWebApps.html#wsgi-and-modjy > Please can you show us the relevant sections of your web.xml? I.e, the bits that specify the application. Alan. |
From: Julian B. <ga...@gm...> - 2011-11-04 19:19:03
|
I'm using the default web.xml that comes the modjy_webapp demo. I've modified the following init paramater: <init-param> <param-name>app_import_name</param-name> <!-- <param-value>my_wsgi_module.my_handler_class().handler_method</param-value> --> <param-value>demo.application</param-value> </init-param> My demo.py file has a single import line: from v2 import app as application and v2.py is the Flask app. Thanks, Julian On Fri, Nov 4, 2011 at 2:34 PM, Alan Kennedy <jyt...@xh...> wrote: > [Julian] > > I get the following exception: > > > > modjy.modjy_exceptions.NoCallable: No callable named 'handler' in > > /usr/local/apache-tomcat-6.0.33/webapps/modjy_webapp//demo.py > > > > My understanding was the WSGI applications can be called by importing the > > app as application. I'm using the app_import_name mechanism described > > here: > http://www.jython.org/jythonbook/en/1.0/SimpleWebApps.html#wsgi-and-modjy > > > > Please can you show us the relevant sections of your web.xml? I.e, > the bits that specify the application. > > Alan. > |
From: Alan K. <jyt...@xh...> - 2011-11-04 19:44:57
|
[Julian] > I get the following exception: > > modjy.modjy_exceptions.NoCallable: No callable named 'handler' in > /usr/local/apache-tomcat-6.0.33/webapps/modjy_webapp//demo.py This is the exception you get when using the old style mechanism of specifying an application, the directory/module/callable triple. [Julian] > I've modified the following init paramater: > > <init-param> > <param-name>app_import_name</param-name> > <!-- <param-value>my_wsgi_module.my_handler_class().handler_method</param-value> --> > <param-value>demo.application</param-value> > </init-param> But it's not having any effect, as we can see from the exception above. The app_import_name mechanism takes precedence over the other mechanism. So either A: It's commented out. B: It's at the wrong hierarchy level in the document C: You're using an old version of jython from before the "app_import_name" mechanism was introduced. What version of jython are you using? To decide if it's A or B: above, I really need to see the whole file, or at least the entire contents of the <servlet> declaration. Email it to me privately if you don't want to make it public. Alan. |
From: Julian B. <ga...@gm...> - 2011-11-04 20:08:46
|
Alan, you're absolutely right! The app_import_name mechanism was commented out in my web.xml. I'm using Jython 2.5.2. The following also works for invoking the Flask WSGI app: def handler(environ, start_response): return application.wsgi_app(environ, start_response But it's not necessary using the app_import_name mechanism. Thanks so much for your help. On Fri, Nov 4, 2011 at 3:44 PM, Alan Kennedy <jyt...@xh...> wrote: > [Julian] > > I get the following exception: > > > > modjy.modjy_exceptions.NoCallable: No callable named 'handler' in > > /usr/local/apache-tomcat-6.0.33/webapps/modjy_webapp//demo.py > > This is the exception you get when using the old style mechanism of > specifying an application, the directory/module/callable triple. > > [Julian] > > I've modified the following init paramater: > > > > <init-param> > > <param-name>app_import_name</param-name> > > <!-- > <param-value>my_wsgi_module.my_handler_class().handler_method</param-value> > --> > > <param-value>demo.application</param-value> > > </init-param> > > But it's not having any effect, as we can see from the exception > above. The app_import_name mechanism takes precedence over the other > mechanism. > > So either > > A: It's commented out. > B: It's at the wrong hierarchy level in the document > C: You're using an old version of jython from before the > "app_import_name" mechanism was introduced. > > What version of jython are you using? > > To decide if it's A or B: above, I really need to see the whole file, > or at least the entire contents of the <servlet> declaration. > > Email it to me privately if you don't want to make it public. > > Alan. > |