Overview
==========
Convoy is a WSGI app for loading multiple CSS and JavaScript files in one
request. It's built to be compatible with the YUI Loader.

Installation
============
Convoy is a Python package that is installed from pypi via easy_install or
pip.

::

    $ pip install convoy

Usage
=====
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.

Combined Files
---------------
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`.

Links
======
- http://yuilibrary.com/yui/docs/yui/yui-loader-ext.html
- https://github.com/rgrove/combohandler
