jsonhome 0.1.0

Creator: railscoder56

Last updated:

Add to Cart

Description:

jsonhome 0.1.0

Helpers for handling jsonhome documents

Free software: Apache license
Documentation: https://readthedocs.org/projects/jsonhome
Source: https://github.com/jamielennox/jsonhome
Bugs: http://bugs.launchpad.net/python-jsonhome


Introduction
The jsonhome library provides a simple way to build and consume compliant json-home documents.


Building
To build a jsonhome document you create a document and then add resources:
>>> import jsonhome

>>> doc = jsonhome.Document()

>>> doc.add_resource('http://mysite.com/rel/widgets',
... uri='/widgets{/widget_id}'
... uri_vars={'widget_id': 'http://mysite.com/param/widget'},
... allow_get=True,
... accept_post=['application/json'])

>>> print(doc.to_json())
{
"resources": {
"http://mysite.com/rel/widgets": {
"href-template": "/widgets{/widget_id}",
"href-vars": {
"widget_id": "http://mysite.com/param/widget"
},
"hints": {
"accept-post": [
"application/json"
],
"allow": [
"GET",
"POST"
]
}
}
}
}
Additional parameters to creating resources can be found on the module documentation.


Consuming
To consume a json-home document you load it and then fetch the URIs you need:
>>> doc = jsonhome.Document.from_json(data)

>>> print(doc.get_uri('http://mysite.com/rel/widgets', widget_id='1234')
'/widgets/1234'
Or for specific information you can find helpers on the resource:
>>> print(doc['http://mysite.com/rel/widgets'].href_vars)
{"widget_id": "http://mysite.com/param/widget"}

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.