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.synchronized(method)

Class method decorator to make sure two threads do not execute some code at the same time (c.f Java synchronized keyword).

The decorator installs a mutex on the class instance.

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

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.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.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.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.decode_header(value, encoding='utf-8')

Make sure the header is an unicode string.

kinto.core.utils.strip_uri_prefix(path)

Remove potential version prefix in URI.

kinto.core.utils.view_lookup(request, uri)

Look-up the specified uri and return the associated resource name along the match dict.

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.instance_uri(request, resource_name, **params)

Return the URI for the given resource.