A combo WSGI application for use with YUI
Convoy is a Python package that is installed from pypi via easy_install or pip.
$ pip install convoy
Convoy is a WSGI application. You should create a .wsgi file that you serve out that sets up convoy for your use. You need to supply it the root path to the JS and CSS files that it’s serving out to your users.
An example .wsgi file is noted below.
from convoy.combo import combo_app def application(environ, start_response): root = '/path/to/file/root' app = combo_app(root) return app(environ, start_response)
You can run this via WSGI servers such as gunicorn, Apapche mod_wsgi, etc.
Breaking down the combo loader url
There are two basic parts to finding files from your combo loader.
Root adjustments - PATH_INFO
The initial part of the route, passed into Convoy in the WSGI environment PATH_INFO variable, becomes part of the path from your root.
If you have multiple versions of files in the root, you can select which by adding the extra path info to your convoy url.
For instance, if your url is: http://127.0.0.1:8000/ver1?y/yui-min&y/loader-min It will append the ‘ver1’ to the root specified in your .wsgi file to find where the y directory should be on disk.
The query string is used only to find files based off the updated root path. You might want to keep the YUI files in a directory y and your own files under a directory app. In this way, the files to combine would be in the query string as: http://127.0.0.1:8000?y/yui-min&app/app-main.