uri /
| name | age | message | |
|---|---|---|---|
| |
.hgtags | ||
| |
LICENSE | ||
| |
MANIFEST | ||
| |
MANIFEST.in | ||
| |
README | ||
| |
setup.py | ||
| |
uri.py | Mon Mar 03 12:38:20 -0800 2008 |
README
About ===== A library for simple URI handling. It has no external dependancies, and works with Python 2.3+. Currently contains only an implementation of URI-Templates (http://bitworking.org/projects/URI-Templates/) -- but see the TODO_ below. Some bits are inspired by or based on: * Joe Gregorio's example implementation (http://code.google.com/p/uri-templates/) * Addressable (http://addressable.rubyforge.org/) Examples ======== Simple usage:: >>> import uri >>> args = {'foo': 'it worked'} >>> uri.expand_template("http://example.com/{foo}", args) 'http://example.com/it%20worked' >>> args = {'a':'foo', 'b':'bar', 'a_b':'baz'} >>> uri.expand_template("http://example.org/{a}{b}/{a_b}", args) 'http://example.org/foobar/baz' You can also use keyword arguments for a more pythonic style:: >>> uri.expand_template("http://example.org/?q={a}", a="foo") 'http://example.org/?q=foo' Contributing ============ I use GitHub; the canonical repository lives at http://github.com/jacobian/uri/tree. Please feel free to send pull requests or patches to <jacob@jacobian.org> TODO ---- Over time, I'd like to add the following features to this library: * ``uri.extract(template, uri)``: extract a dict of info given a template and a URI. * ``uri.parse(uri)``: thin wrapper around ``urlparse.urlparse()`` that returns a class (so you can do e.g. ``some_uri.fragment`` or whathaveyou.) This URI class should have expand/extract methods. * Add methods/functions to do sane URI joining -- ``urlparse.urljoin`` *never* does what I think it's going to do, especially when faced with relative URIs.

