Helpers for handling jsonhome documents
Project description
Helpers for handling jsonhome documents
Free software: Apache license
Documentation: https://readthedocs.org/projects/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"}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jsonhome-0.1.0.tar.gz
(15.7 kB
view hashes)
Built Distribution
Close
Hashes for jsonhome-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36201a336ad96f6f07c44fb375c327176d8e0e2b5d35be145ba3c83cd564b9c5 |
|
MD5 | f698d0ec8ec93a8c14a1f0c350216457 |
|
BLAKE2b-256 | 1f08737cc043fbd4b7e6d212474deb374edc80b0f60bd9ff343cc24dcfa02e27 |