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