model Package¶
model
Package¶
Implementation of CKAN API Models takes place here.
client
Module¶
Lowest communication layer of libckan. This package contains a wrapper for urllib2 requests that communicates with CKAN Api. It also contains a Response class to represent CKAN responses.
-
class
libckan.model.client.
Client
(base_url='http://beta.ckan.org', api_key='')¶ Bases:
object
CKAN API Client. It does HTTP POST request to CKAN API.
-
classmethod
request
(action, data=None, base_url='http://beta.ckan.org', api_key='')¶ Post a data dict to one of the actions of the CKAN action API.
Code adapted from https://gist.github.com/seanh/4130567
Parameters: - action (str) – the action to post to, e.g. “package_create”
- data (dict) – the data to post (optional, default: {})
- base_url (str) – the base URL of the CKAN instance to post to, e.g. “http://datahub.io/“
- api_key (str) – the CKAN API key to put in the ‘Authorization’ header of the HTTP request (optional, default: ‘’)
Returns: the dictionary returned by the CKAN API
Returns: dict
- Raises:
libckan.model.exceptions.CKANError
: - An error occurred accessing CKAN API
-
classmethod
sanitize_params
(params)¶ Polishes the parameters to be sent to CKAN.
Parameters: params – A dict of parameters. Usually obtained with a call to
locals()
:type client: dictReturns: The sanitizied dict of parameters Return type: dict
-
classmethod
exceptions
Module¶
libckan custom exceptions are defined in this module.
-
exception
libckan.model.exceptions.
CKANAccessError
(response_error)¶ Bases:
libckan.model.exceptions.CKANError
Errors related to authentication (i.e., access denied)
-
exception
libckan.model.exceptions.
CKANError
(response_error)¶ Bases:
exceptions.Exception
General CKAN API error. It encapsulates the error part of a CKAN Response.
-
exception
libckan.model.exceptions.
CKANValidationError
(response_error)¶ Bases:
libckan.model.exceptions.CKANError
Errors related to Validation issues.