New approach: WSGI+WebOb instead of Pylons

Quite big change in my plans. I dropped strict support of Pylons. The community is interested in running the webapp on different frameworks and thus I would like to ease their lives as much as possible. My aim is to stay PEP-333 compliant and to build pure WSGI+WebOB code.

The procedure of building the webapp from Sphinx is as it was before (make webapp), but now it is not possible to run pylons to serve the docs, but a simple file serving software is provided.

After building a webapp the directory structure looks like this:

$ ls _build/webapp/
html/
public/
server.py
xapian_db/

The “html” directory contains templates for webapp. The documentation generated by Sphinx is located in “public” directory. “server.py” serves the documentation (127.0.0.1:8000 by default). “xapian_db”, as the name says, is a directory where Xapian’s search engine database is located.

Xapian will be described in the next post, though!

Advertisements

2 responses to this post.

  1. Posted by Timmie on June 17, 2009 at 11:03 am

    Hello,
    I am really looking forward to your project results.

    I tried your current code in a virtualenv.

    Before the server.py could start, I had to install
    webob
    python-openid

    Then I got this error:

    Traceback (most recent call last):
    File “server.py”, line 32, in
    main()
    File “server.py”, line 24, in main
    app = OpenIDWrapper(app)
    File “d:\ sphinx-gsoc2009\test_s~1\lib\site-packages\sphinx-1.0dev_20090617-py2.5.egg\sphinx\web\middleware\OpenId.py”, line 9, in __init__
    self.app = open_id.middleware(app, ‘openid_data’)
    File “d:\ sphinx-gsoc2009\test_s~1\lib\site-packages\paste-1.7.2-py2.5.egg\paste\auth\open_id.py”, line 112, in __init__
    self.oidconsumer = consumer.OpenIDConsumer(store)
    AttributeError: ‘module’ object has no attribute ‘OpenIDConsumer’

    Hope that this helps.

    Best,
    Timmie

    Reply

  2. Hi Timmie,

    this is a known issue, but thanks for reporting anyway!
    The thing is that I thought I could use paste.auth.open_id
    to make OpenId logging possible, but this module
    is too old to use it with new python-openid libraries.
    Thus, I am working on my own way to make it work.
    I will report on my blog, when it’s done.

    Thanks again,
    Wojtek

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: