← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 540255] Re: Use WSGI instead of CherryPy demo server

 

> I see that a fix was releases, however I don't see any oficial
documentation on the website, what is the revision number of the patch?

xmo@xxxxxxxxxxx-20100319133519-6nx1nh1t64kz4792

> where can I find documentation about this?

There isn't, I'll try to make a pre-built .wsgi launcher with 6.1 after
some more internal cleanup.

Currently, we're just using the fact that a CherryPy application (as
returned by cherrypy.tree.mount) is also technically a WSGI application,
and we expose the root cherrypy application for the web client in
`openobject.application`.

You'll have do configure the server yourself (by calling
`openobject.configure` at the very least, check
`openobject.commands.start` to see the kind of things the complete
configuration takes).

Here is a demo session (with the PYTHONPATH correctly set to be able to
import openobject) showing how to launch it using wsgiref's
simple_server:

    >>> import openobject
    >>> from cherrypy._cpconfig import as_dict
    >>> from wsgiref import simple_server
    >>> openobject.configure(as_dict('doc/openerp-web.cfg'))
    >>> openobject.enable_static_paths()
    >>> httpd = simple_server.make_server('', 8000, openobject.application)
    >>> httpd.serve_forever()

(the enable_static_paths is to serve static files via the cherrypy and
thus the WSGI server)

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/540255

Title:
  Use WSGI instead of CherryPy demo server

Status in OpenERP Web Client:
  Fix Released

Bug description:
  openerp-web currently uses the CherryPy demo server. It should use
  Python's standard for web applications, WSGI, instead. It can be
  nicely integrated with Apache.

  openerp/commands.py needs only a few change to be usable as a WSGI
  application, because CherryPy already supports WSGI.

  
       cherrypy.config.update({
          'tools.sessions.storage_type': 'file',
          'tools.sessions.storage_path': '/var/lib/openerp-web/sessions',
       })

  setup_server should return the app object. Then you can return it to
  the WSGI handler instead of starting the cherrypy.engine