Utils¶
- kinto.core.utils.strip_whitespace(v)¶
Remove whitespace, newlines, and tabs from the beginning/end of a string.
- Parameters
v (str) – the string to strip.
- Return type
str
- kinto.core.utils.msec_time()¶
Return current epoch time in milliseconds.
- Return type
int
- kinto.core.utils.classname(obj)¶
Get a classname from an object.
- Return type
str
- kinto.core.utils.merge_dicts(a, b)¶
Merge b into a recursively, without overwriting values.
- Parameters
a (dict) – the dict that will be altered with values of b.
- kinto.core.utils.recursive_update_dict(root, changes, ignores=())¶
Update recursively all the entries from a dict and it’s children dicts.
- Parameters
root (dict) – root dictionary
changes (dict) – dictonary where changes should be made (default=root)
- Returns dict newd
dictionary with removed entries of val.
- kinto.core.utils.random_bytes_hex(bytes_length)¶
Return a hexstring of bytes_length cryptographic-friendly random bytes.
- Parameters
bytes_length (int) – number of random bytes.
- Return type
str
- kinto.core.utils.native_value(value)¶
Convert string value to native python values.
- Parameters
value (str) – value to interprete.
- Returns
the value coerced to python type
- kinto.core.utils.read_env(key, value)¶
Read the setting key from environment variables.
- Parameters
key – the setting name
value – default value if undefined in environment
- Returns
the value from environment, coerced to python type, or the (uncoerced) default value
- kinto.core.utils.encode64(content, encoding='utf-8')¶
Encode some content in base64.
- Return type
str
- kinto.core.utils.decode64(encoded_content, encoding='utf-8')¶
Decode some base64 encoded content.
- Return type
str
- kinto.core.utils.hmac_digest(secret, message, encoding='utf-8')¶
Return hex digest of a message HMAC using secret
- kinto.core.utils.dict_subset(d, keys)¶
Return a dict with the specified keys
- kinto.core.utils.dict_merge(a, b)¶
Merge the two specified dicts
- kinto.core.utils.find_nested_value(d, path, default=None)¶
Finds a nested value in a dict from a dotted path key string.
- Parameters
d (dict) – the dict to retrieve nested value from
path (str) – the path to the nested value, in dot notation
- Returns
the nested value if any was found, or None
- class kinto.core.utils.COMPARISON(value)¶
An enumeration.
- kinto.core.utils.reapply_cors(request, response)¶
Reapply cors headers to the new response with regards to the request.
We need to re-apply the CORS checks done by Cornice, in case we’re recreating the response from scratch.
- kinto.core.utils.log_context(request, **kwargs)¶
Bind information to the current request summary log.
- kinto.core.utils.current_service(request)¶
Return the Cornice service matching the specified request.
- Returns
the service or None if unmatched.
- Return type
cornice.Service
- kinto.core.utils.current_resource_name(request)¶
Return the name used when the kinto.core resource was registered along its viewset.
- Returns
the resource identifier.
- Return type
str
- kinto.core.utils.prefixed_userid(request)¶
In Kinto users ids are prefixed with the policy name that is contained in Pyramid Multiauth. If a custom authn policy is used, without authn_type, this method returns the user id without prefix.
- kinto.core.utils.prefixed_principals(request)¶
- Returns
the list principals with prefixed user id.
- kinto.core.utils.build_request(original, dict_obj)¶
Transform a dict object into a
pyramid.request.Request
object.It sets a
parent
attribute on the resulting request assigned with the original request specified.- Parameters
original – the original request.
dict_obj – a dict object with the sub-request specifications.
- kinto.core.utils.build_response(response, request)¶
Transform a
pyramid.response.Response
object into a serializable dict.- Parameters
response – a response object, returned by Pyramid.
request – the request that was used to get the response.
- kinto.core.utils.follow_subrequest(request, subrequest, **kwargs)¶
Run a subrequest (e.g. batch), and follow the redirection if any.
- Return type
tuple
- Returns
the reponse and the redirection request (or subrequest if no redirection happened.)
- kinto.core.utils.strip_uri_prefix(path)¶
Remove potential version prefix in URI.
- kinto.core.utils.view_lookup(request, uri)¶
A convenience method for view_lookup_registry when you have a request.
- Parameters
request – the current request (used to obtain registry).
uri – a plural or object endpoint URI.
- Return type
tuple
- Returns
the resource name and the associated matchdict.
- kinto.core.utils.view_lookup_registry(registry, uri)¶
Look-up the specified uri and return the associated resource name along the match dict.
- Parameters
registry – the application’s registry.
uri – a plural or object endpoint URI.
- Return type
tuple
- Returns
the resource name and the associated matchdict.
- kinto.core.utils.instance_uri(request, resource_name, **params)¶
Return the URI for the given resource.
- kinto.core.utils.instance_uri_registry(registry, resource_name, **params)¶
Return the URI for the given resource, even if you don’t have a request.
This gins up a request using Request.blank and so does not support any routes with pregenerators.
- kinto.core.utils.apply_json_patch(obj, ops)¶
Apply JSON Patch operations using jsonpatch.
- Parameters
object – base object where changes should be applied (not in-place).
changes (list) – list of JSON patch operations.
only_data (bool) – param to limit the scope of the patch only to ‘data’.
- Returns dict data
patched object data. dict permissions: patched object permissions