kinto 19.5.0__py3-none-any.whl → 19.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kinto might be problematic. Click here for more details.
- kinto/core/__init__.py +3 -3
- kinto/core/cornice/__init__.py +93 -0
- kinto/core/cornice/cors.py +144 -0
- kinto/core/cornice/errors.py +40 -0
- kinto/core/cornice/pyramidhook.py +373 -0
- kinto/core/cornice/renderer.py +89 -0
- kinto/core/cornice/resource.py +205 -0
- kinto/core/cornice/service.py +641 -0
- kinto/core/cornice/util.py +138 -0
- kinto/core/cornice/validators/__init__.py +94 -0
- kinto/core/cornice/validators/_colander.py +142 -0
- kinto/core/cornice/validators/_marshmallow.py +182 -0
- kinto/core/cornice_swagger/__init__.py +92 -0
- kinto/core/cornice_swagger/converters/__init__.py +21 -0
- kinto/core/cornice_swagger/converters/exceptions.py +6 -0
- kinto/core/cornice_swagger/converters/parameters.py +90 -0
- kinto/core/cornice_swagger/converters/schema.py +249 -0
- kinto/core/cornice_swagger/swagger.py +725 -0
- kinto/core/cornice_swagger/templates/index.html +73 -0
- kinto/core/cornice_swagger/templates/index_script_template.html +21 -0
- kinto/core/cornice_swagger/util.py +42 -0
- kinto/core/cornice_swagger/views.py +78 -0
- kinto/core/openapi.py +2 -3
- kinto/core/resource/viewset.py +1 -1
- kinto/core/testing.py +1 -1
- kinto/core/utils.py +3 -2
- kinto/core/views/batch.py +1 -1
- kinto/core/views/openapi.py +1 -1
- kinto/plugins/flush.py +1 -1
- kinto/plugins/openid/views.py +1 -1
- kinto/views/contribute.py +2 -1
- {kinto-19.5.0.dist-info → kinto-19.6.0.dist-info}/METADATA +2 -4
- {kinto-19.5.0.dist-info → kinto-19.6.0.dist-info}/RECORD +37 -16
- {kinto-19.5.0.dist-info → kinto-19.6.0.dist-info}/LICENSE +0 -0
- {kinto-19.5.0.dist-info → kinto-19.6.0.dist-info}/WHEEL +0 -0
- {kinto-19.5.0.dist-info → kinto-19.6.0.dist-info}/entry_points.txt +0 -0
- {kinto-19.5.0.dist-info → kinto-19.6.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<!-- HTML for static distribution bundle build -->
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<title>Swagger UI</title>
|
|
7
|
+
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
|
|
8
|
+
<link rel="stylesheet" type="text/css" href="${ui_css_url}" >
|
|
9
|
+
<style>
|
|
10
|
+
html
|
|
11
|
+
{
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
overflow: -moz-scrollbars-vertical;
|
|
14
|
+
overflow-y: scroll;
|
|
15
|
+
}
|
|
16
|
+
*,
|
|
17
|
+
*:before,
|
|
18
|
+
*:after
|
|
19
|
+
{
|
|
20
|
+
box-sizing: inherit;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
body {
|
|
24
|
+
margin:0;
|
|
25
|
+
background: #fafafa;
|
|
26
|
+
}
|
|
27
|
+
</style>
|
|
28
|
+
</head>
|
|
29
|
+
|
|
30
|
+
<body>
|
|
31
|
+
|
|
32
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
|
|
33
|
+
<defs>
|
|
34
|
+
<symbol viewBox="0 0 20 20" id="unlocked">
|
|
35
|
+
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
|
|
36
|
+
</symbol>
|
|
37
|
+
|
|
38
|
+
<symbol viewBox="0 0 20 20" id="locked">
|
|
39
|
+
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
|
|
40
|
+
</symbol>
|
|
41
|
+
|
|
42
|
+
<symbol viewBox="0 0 20 20" id="close">
|
|
43
|
+
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
|
|
44
|
+
</symbol>
|
|
45
|
+
|
|
46
|
+
<symbol viewBox="0 0 20 20" id="large-arrow">
|
|
47
|
+
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
|
|
48
|
+
</symbol>
|
|
49
|
+
|
|
50
|
+
<symbol viewBox="0 0 20 20" id="large-arrow-down">
|
|
51
|
+
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
|
|
52
|
+
</symbol>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
<symbol viewBox="0 0 24 24" id="jump-to">
|
|
56
|
+
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
|
|
57
|
+
</symbol>
|
|
58
|
+
|
|
59
|
+
<symbol viewBox="0 0 24 24" id="expand">
|
|
60
|
+
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
|
|
61
|
+
</symbol>
|
|
62
|
+
|
|
63
|
+
</defs>
|
|
64
|
+
</svg>
|
|
65
|
+
|
|
66
|
+
<div id="swagger-ui"></div>
|
|
67
|
+
|
|
68
|
+
<script src="${ui_js_bundle_url}"> </script>
|
|
69
|
+
<script src="${ui_js_standalone_url}"> </script>
|
|
70
|
+
${swagger_ui_script}
|
|
71
|
+
</body>
|
|
72
|
+
|
|
73
|
+
</html>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
window.onload = function() {
|
|
3
|
+
|
|
4
|
+
// Build a system
|
|
5
|
+
const ui = SwaggerUIBundle({
|
|
6
|
+
url: "${swagger_spec_url}",
|
|
7
|
+
dom_id: '#swagger-ui',
|
|
8
|
+
deepLinking: true,
|
|
9
|
+
presets: [
|
|
10
|
+
SwaggerUIBundle.presets.apis,
|
|
11
|
+
SwaggerUIStandalonePreset
|
|
12
|
+
],
|
|
13
|
+
plugins: [
|
|
14
|
+
SwaggerUIBundle.plugins.DownloadUrl
|
|
15
|
+
],
|
|
16
|
+
layout: "StandaloneLayout"
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
window.ui = ui
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import colander
|
|
2
|
+
|
|
3
|
+
from kinto.core.cornice.validators import colander_body_validator
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def trim(docstring):
|
|
7
|
+
"""
|
|
8
|
+
Remove the tabs to spaces, and remove the extra spaces / tabs that are in
|
|
9
|
+
front of the text in docstrings.
|
|
10
|
+
|
|
11
|
+
Implementation taken from http://www.python.org/dev/peps/pep-0257/
|
|
12
|
+
"""
|
|
13
|
+
if not docstring:
|
|
14
|
+
return ""
|
|
15
|
+
# Convert tabs to spaces (following the normal Python rules)
|
|
16
|
+
# and split into a list of lines:
|
|
17
|
+
lines = docstring.expandtabs().splitlines()
|
|
18
|
+
lines = [line.strip() for line in lines]
|
|
19
|
+
res = "\n".join(lines)
|
|
20
|
+
return res
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def body_schema_transformer(schema, args):
|
|
24
|
+
validators = args.get("validators", [])
|
|
25
|
+
if colander_body_validator in validators:
|
|
26
|
+
body_schema = schema
|
|
27
|
+
schema = colander.MappingSchema()
|
|
28
|
+
schema["body"] = body_schema
|
|
29
|
+
return schema
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def merge_dicts(base, changes):
|
|
33
|
+
"""Merge b into a recursively, without overwriting values.
|
|
34
|
+
|
|
35
|
+
:param base: the dict that will be altered.
|
|
36
|
+
:param changes: changes to update base.
|
|
37
|
+
"""
|
|
38
|
+
for k, v in changes.items():
|
|
39
|
+
if isinstance(v, dict):
|
|
40
|
+
merge_dicts(base.setdefault(k, {}), v)
|
|
41
|
+
else:
|
|
42
|
+
base.setdefault(k, v)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import importlib
|
|
2
|
+
from string import Template
|
|
3
|
+
|
|
4
|
+
import cornice
|
|
5
|
+
import cornice_swagger
|
|
6
|
+
import pkg_resources
|
|
7
|
+
from pyramid.response import Response
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# hardcode for now since that will work for vast majority of users
|
|
11
|
+
# maybe later add minified resources for behind firewall support?
|
|
12
|
+
ui_css_url = "https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.23.11/swagger-ui.css"
|
|
13
|
+
ui_js_bundle_url = "https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.23.11/swagger-ui-bundle.js"
|
|
14
|
+
ui_js_standalone_url = (
|
|
15
|
+
"https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.23.11/swagger-ui-standalone-preset.js"
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def swagger_ui_template_view(request):
|
|
20
|
+
"""
|
|
21
|
+
Serves Swagger UI page, default Swagger UI config is used but you can
|
|
22
|
+
override the callable that generates the `<script>` tag by setting
|
|
23
|
+
`cornice_swagger.swagger_ui_script_generator` in pyramid config, it defaults
|
|
24
|
+
to 'cornice_swagger.views:swagger_ui_script_template'
|
|
25
|
+
|
|
26
|
+
:param request:
|
|
27
|
+
:return:
|
|
28
|
+
"""
|
|
29
|
+
script_generator = request.registry.settings.get(
|
|
30
|
+
"cornice_swagger.swagger_ui_script_generator",
|
|
31
|
+
"cornice_swagger.views:swagger_ui_script_template",
|
|
32
|
+
)
|
|
33
|
+
package, callable = script_generator.split(":")
|
|
34
|
+
imported_package = importlib.import_module(package)
|
|
35
|
+
script_callable = getattr(imported_package, callable)
|
|
36
|
+
template = pkg_resources.resource_string("cornice_swagger", "templates/index.html").decode(
|
|
37
|
+
"utf8"
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
html = Template(template).safe_substitute(
|
|
41
|
+
ui_css_url=ui_css_url,
|
|
42
|
+
ui_js_bundle_url=ui_js_bundle_url,
|
|
43
|
+
ui_js_standalone_url=ui_js_standalone_url,
|
|
44
|
+
swagger_ui_script=script_callable(request),
|
|
45
|
+
)
|
|
46
|
+
return Response(html)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def open_api_json_view(request):
|
|
50
|
+
"""
|
|
51
|
+
:param request:
|
|
52
|
+
:return:
|
|
53
|
+
|
|
54
|
+
Generates JSON representation of Swagger spec
|
|
55
|
+
"""
|
|
56
|
+
doc = cornice_swagger.CorniceSwagger(
|
|
57
|
+
cornice.service.get_services(), pyramid_registry=request.registry
|
|
58
|
+
)
|
|
59
|
+
kwargs = request.registry.settings["cornice_swagger.spec_kwargs"]
|
|
60
|
+
my_spec = doc.generate(**kwargs)
|
|
61
|
+
return my_spec
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def swagger_ui_script_template(request, **kwargs):
|
|
65
|
+
"""
|
|
66
|
+
:param request:
|
|
67
|
+
:return:
|
|
68
|
+
|
|
69
|
+
Generates the <script> code that bootstraps Swagger UI, it will be injected
|
|
70
|
+
into index template
|
|
71
|
+
"""
|
|
72
|
+
swagger_spec_url = request.route_url("cornice_swagger.open_api_path")
|
|
73
|
+
template = pkg_resources.resource_string(
|
|
74
|
+
"cornice_swagger", "templates/index_script_template.html"
|
|
75
|
+
).decode("utf8")
|
|
76
|
+
return Template(template).safe_substitute(
|
|
77
|
+
swagger_spec_url=swagger_spec_url,
|
|
78
|
+
)
|
kinto/core/openapi.py
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
from cornice_swagger import CorniceSwagger
|
|
2
|
-
from cornice_swagger.converters.schema import TypeConverter
|
|
3
|
-
|
|
1
|
+
from kinto.core.cornice_swagger import CorniceSwagger
|
|
2
|
+
from kinto.core.cornice_swagger.converters.schema import TypeConverter
|
|
4
3
|
from kinto.core.schema import Any
|
|
5
4
|
|
|
6
5
|
|
kinto/core/resource/viewset.py
CHANGED
|
@@ -2,10 +2,10 @@ import functools
|
|
|
2
2
|
import warnings
|
|
3
3
|
|
|
4
4
|
import colander
|
|
5
|
-
from cornice.validators import colander_validator
|
|
6
5
|
from pyramid.settings import asbool
|
|
7
6
|
|
|
8
7
|
from kinto.core import authorization
|
|
8
|
+
from kinto.core.cornice.validators import colander_validator
|
|
9
9
|
|
|
10
10
|
from .schema import (
|
|
11
11
|
ObjectGetQuerySchema,
|
kinto/core/testing.py
CHANGED
|
@@ -5,10 +5,10 @@ from collections import defaultdict
|
|
|
5
5
|
from unittest import mock
|
|
6
6
|
|
|
7
7
|
import webtest
|
|
8
|
-
from cornice import errors as cornice_errors
|
|
9
8
|
from pyramid.url import parse_url_overrides
|
|
10
9
|
|
|
11
10
|
from kinto.core import DEFAULT_SETTINGS
|
|
11
|
+
from kinto.core.cornice import errors as cornice_errors
|
|
12
12
|
from kinto.core.storage import generators
|
|
13
13
|
from kinto.core.utils import encode64, follow_subrequest, memcache, sqlalchemy
|
|
14
14
|
from kinto.plugins import prometheus, statsd
|
kinto/core/utils.py
CHANGED
|
@@ -13,7 +13,6 @@ from urllib.parse import unquote
|
|
|
13
13
|
import jsonpatch
|
|
14
14
|
import rapidjson
|
|
15
15
|
from colander import null
|
|
16
|
-
from cornice import cors
|
|
17
16
|
from pyramid import httpexceptions
|
|
18
17
|
from pyramid.authorization import Authenticated
|
|
19
18
|
from pyramid.interfaces import IRoutesMapper
|
|
@@ -21,6 +20,8 @@ from pyramid.request import Request, apply_request_extensions
|
|
|
21
20
|
from pyramid.settings import aslist
|
|
22
21
|
from pyramid.view import render_view_to_response
|
|
23
22
|
|
|
23
|
+
from kinto.core.cornice import cors
|
|
24
|
+
|
|
24
25
|
|
|
25
26
|
try:
|
|
26
27
|
import sqlalchemy
|
|
@@ -289,7 +290,7 @@ def current_service(request):
|
|
|
289
290
|
"""Return the Cornice service matching the specified request.
|
|
290
291
|
|
|
291
292
|
:returns: the service or None if unmatched.
|
|
292
|
-
:rtype: cornice.Service
|
|
293
|
+
:rtype: kinto.core.cornice.Service
|
|
293
294
|
"""
|
|
294
295
|
if request.matched_route:
|
|
295
296
|
services = request.registry.cornice_services
|
kinto/core/views/batch.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
3
|
import colander
|
|
4
|
-
from cornice.validators import colander_validator
|
|
5
4
|
from pyramid import httpexceptions
|
|
6
5
|
from pyramid.security import NO_PERMISSION_REQUIRED
|
|
7
6
|
|
|
8
7
|
from kinto.core import Service, errors
|
|
8
|
+
from kinto.core.cornice.validators import colander_validator
|
|
9
9
|
from kinto.core.errors import ErrorSchema
|
|
10
10
|
from kinto.core.resource.viewset import CONTENT_TYPES
|
|
11
11
|
from kinto.core.utils import build_request, build_response, merge_dicts
|
kinto/core/views/openapi.py
CHANGED
kinto/plugins/flush.py
CHANGED
kinto/plugins/openid/views.py
CHANGED
|
@@ -3,10 +3,10 @@ import urllib.parse
|
|
|
3
3
|
|
|
4
4
|
import colander
|
|
5
5
|
import requests
|
|
6
|
-
from cornice.validators import colander_validator
|
|
7
6
|
from pyramid import httpexceptions
|
|
8
7
|
|
|
9
8
|
from kinto.core import Service
|
|
9
|
+
from kinto.core.cornice.validators import colander_validator
|
|
10
10
|
from kinto.core.errors import ERRORS, raise_invalid
|
|
11
11
|
from kinto.core.resource.schema import ErrorResponseSchema
|
|
12
12
|
from kinto.core.schema import URL
|
kinto/views/contribute.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: kinto
|
|
3
|
-
Version: 19.
|
|
3
|
+
Version: 19.6.0
|
|
4
4
|
Summary: Kinto Web Service - Store, Sync, Share, and Self-Host.
|
|
5
5
|
Author-email: Mozilla Services <developers@kinto-storage.org>
|
|
6
6
|
License: Copyright 2012 - Mozilla Foundation
|
|
@@ -33,8 +33,6 @@ Description-Content-Type: text/x-rst
|
|
|
33
33
|
License-File: LICENSE
|
|
34
34
|
Requires-Dist: bcrypt
|
|
35
35
|
Requires-Dist: colander
|
|
36
|
-
Requires-Dist: cornice
|
|
37
|
-
Requires-Dist: cornice_swagger
|
|
38
36
|
Requires-Dist: dockerflow
|
|
39
37
|
Requires-Dist: jsonschema
|
|
40
38
|
Requires-Dist: jsonpatch
|
|
@@ -54,7 +52,7 @@ Provides-Extra: memcached
|
|
|
54
52
|
Requires-Dist: python-memcached; extra == "memcached"
|
|
55
53
|
Provides-Extra: postgresql
|
|
56
54
|
Requires-Dist: SQLAlchemy<3; extra == "postgresql"
|
|
57
|
-
Requires-Dist: psycopg2; extra == "postgresql"
|
|
55
|
+
Requires-Dist: psycopg2-binary; extra == "postgresql"
|
|
58
56
|
Requires-Dist: zope.sqlalchemy; extra == "postgresql"
|
|
59
57
|
Provides-Extra: monitoring
|
|
60
58
|
Requires-Dist: newrelic; extra == "monitoring"
|
|
@@ -6,7 +6,7 @@ kinto/schema_validation.py,sha256=mtAmnl5HwiUsjS2gU8MKH4lkZ1380A5wZht-w9s5X7M,53
|
|
|
6
6
|
kinto/scripts.py,sha256=oM8ggBofYVoVhxrbdfzwIO0AOwR6Z2NJ2RqH9op1_lg,1370
|
|
7
7
|
kinto/config/__init__.py,sha256=av8W0utmjheueFqrjTYEDk_vbpm3XYdHcqv5lppNR4k,2131
|
|
8
8
|
kinto/config/kinto.tpl,sha256=kdA2RuR8gEpZGJp6VkKqMShQ0CfHDM0gjUttSPeaT7s,8753
|
|
9
|
-
kinto/core/__init__.py,sha256=
|
|
9
|
+
kinto/core/__init__.py,sha256=1torTd1T89nHUdsqmCJ3o85lJVakcsERIglEMu5VmkE,8171
|
|
10
10
|
kinto/core/authentication.py,sha256=HLA0kREC3GMEsrIsHsQYjVNztYfAF01kb8-pLboByFs,1527
|
|
11
11
|
kinto/core/authorization.py,sha256=GywY25KEzuSSAI709dFHDfdLnKxy3SLEYGwW5FkQ7Qc,13212
|
|
12
12
|
kinto/core/decorators.py,sha256=3SAPWXlyPNUSICZ9mz04bcN-UdbnDuFOtU0bQHHzLis,2178
|
|
@@ -14,18 +14,39 @@ kinto/core/errors.py,sha256=JXZjkPYjjC0I6x02d2VJRGeaQ2yZYS2zm5o7_ljfyes,8946
|
|
|
14
14
|
kinto/core/events.py,sha256=SYpXgKMtVjiD9fwYJA2Omdom9yA3nBqi9btdvU1I_nc,10345
|
|
15
15
|
kinto/core/initialization.py,sha256=pdrPVONxznp2W3BfY9Uh-2cwXr-biB1OxcAAKjB1uEU,26679
|
|
16
16
|
kinto/core/metrics.py,sha256=Y6Mt4PUzy2-oudeGr_oCmtX8nIR4SZkzUlPxr58jr-g,2619
|
|
17
|
-
kinto/core/openapi.py,sha256=
|
|
17
|
+
kinto/core/openapi.py,sha256=92sZviff4NCxN0jMnu5lPUnF5iQbrKMGy7Cegf-VAME,3876
|
|
18
18
|
kinto/core/schema.py,sha256=d5L5TQynRYJPkZ8Mu2X7F72xEh6SKDbrHK1CNTdOf2E,3646
|
|
19
19
|
kinto/core/scripts.py,sha256=5HSq5QAuin7HuU6icNYkPisny-4JpcdBvjf8X4JImrE,978
|
|
20
20
|
kinto/core/statsd.py,sha256=2f4s2opiHVdrA02ZlBa5pxIHaEjPuG8tdVLsmdII27s,64
|
|
21
|
-
kinto/core/testing.py,sha256=
|
|
22
|
-
kinto/core/utils.py,sha256=
|
|
21
|
+
kinto/core/testing.py,sha256=kZ-75EiiZwTNDBpHZyKBBHute6jEmUwXd7nRMK9kwr4,5908
|
|
22
|
+
kinto/core/utils.py,sha256=EDlZfHsgcaUvxg-AG_dn9IcQCq7j7RxpBjnFrx8b11E,17069
|
|
23
23
|
kinto/core/cache/__init__.py,sha256=NJT_39WFTuUd-OHuVqgoQTQUYv5zS9PIc3W_Kq9tabc,2726
|
|
24
24
|
kinto/core/cache/memcached.py,sha256=WuYyq6-QykRNryLA_bKdeGAY_Hvwq0c1ejS_8G94cY4,2914
|
|
25
25
|
kinto/core/cache/memory.py,sha256=603vuyV5nKxsmUlkVxZFZWKPAbxMSTQKqkpqK4ttFas,2748
|
|
26
26
|
kinto/core/cache/testing.py,sha256=KVNz1tVYv_A33HF66SObM1WTgOx1UY47MuwPsaaQRag,6980
|
|
27
27
|
kinto/core/cache/postgresql/__init__.py,sha256=04OetGaxI89XAHUhtrNtRyipsZTe0bn_ZjoUQms_3VA,6026
|
|
28
28
|
kinto/core/cache/postgresql/schema.sql,sha256=a-6lbhqzlNMcig7DCGQ_ULP-Z5nzhNWrZWCpaHTiJPw,503
|
|
29
|
+
kinto/core/cornice/__init__.py,sha256=P07QaR_5qIXuFxAXciJZYlUlQSH5bYD2LNsv5v9E_tY,3685
|
|
30
|
+
kinto/core/cornice/cors.py,sha256=nA61VsAamFovkpk5aYVoSWASLnXWVl6XJdMw17IDIKA,5159
|
|
31
|
+
kinto/core/cornice/errors.py,sha256=_8Jxhm7ic2obRSMkEKqRtJEK2tg9Fp75DhJ0kJ5OxLI,1433
|
|
32
|
+
kinto/core/cornice/pyramidhook.py,sha256=iy5I8nFTg29aIjPKrwmak5_hy_GjGK1nLwPkmvB7mYM,13936
|
|
33
|
+
kinto/core/cornice/renderer.py,sha256=Rk1BNrPnpFxIZVE1jdQmgqcpsOVf37378Ge1Fm4gidc,3341
|
|
34
|
+
kinto/core/cornice/resource.py,sha256=jpjZdvOfJNe9XMDvetBhVIcoJsQot5D6K3gcrH2DQGE,6181
|
|
35
|
+
kinto/core/cornice/service.py,sha256=3qZteBmR9aVjL9ZQDylnWCZeac51IE9iBtUVnFqv3so,23261
|
|
36
|
+
kinto/core/cornice/util.py,sha256=N6KbypHKkz5YmCARilY_xatGUePwreH3ThhiafrgCh8,4106
|
|
37
|
+
kinto/core/cornice/validators/__init__.py,sha256=tJAewtgSYL2Fpye0pQ-jsbA3vLJ3A6d3hhm9yXUO2Yc,3325
|
|
38
|
+
kinto/core/cornice/validators/_colander.py,sha256=qlh1jR3xEOkRvMgS-F-CxtyKohzJFPjaaOYPi5Lb2Ns,4752
|
|
39
|
+
kinto/core/cornice/validators/_marshmallow.py,sha256=auiqi9chYk2H1y47Xd0UDi5FMO-umis20pNqOTx9-oU,6278
|
|
40
|
+
kinto/core/cornice_swagger/__init__.py,sha256=ls4uB23VcamRxoBo2IDVA4cadBlzbp5x99jbTY_pmK4,2815
|
|
41
|
+
kinto/core/cornice_swagger/swagger.py,sha256=a4QProdgZ7XUDFNUWsC0zLwmroxwtWbALm0Jjd00stQ,26001
|
|
42
|
+
kinto/core/cornice_swagger/util.py,sha256=xNKQ9kY8gkIJdVoWIDqEzrK0v8o-vfdAxxKvbXMeTwE,1210
|
|
43
|
+
kinto/core/cornice_swagger/views.py,sha256=h3Ehwidak0CeCr3oTy5Eh4_rLTDEAYm2Ubxb_opqaUc,2572
|
|
44
|
+
kinto/core/cornice_swagger/converters/__init__.py,sha256=DaSaL-e2TKtqrhWk91dZolPOk_e-oPbzgctjZNXjnj0,640
|
|
45
|
+
kinto/core/cornice_swagger/converters/exceptions.py,sha256=YDtm7yDay_PRxCZWOKgdWZc549JTMCi_n8Z5-PtKvCA,94
|
|
46
|
+
kinto/core/cornice_swagger/converters/parameters.py,sha256=VWx3NzKqaC12U2BrflYCuLJHt0W3_UJqcXiTNfeQ414,2757
|
|
47
|
+
kinto/core/cornice_swagger/converters/schema.py,sha256=Ga9qJMso90U0a43JHFyQ1NVKjnAGOYd0jRWmCgFqbCA,6922
|
|
48
|
+
kinto/core/cornice_swagger/templates/index.html,sha256=rgDT8vx6Pu4amI2vym2BC0utGPbDM8kJ2KCQWJwtgBY,2957
|
|
49
|
+
kinto/core/cornice_swagger/templates/index_script_template.html,sha256=vq92R0oZE5kSJ0c0NuvUq_RCSC1_325ht_cu7aCrD2s,518
|
|
29
50
|
kinto/core/listeners/__init__.py,sha256=mBBo0LxNOjL8h8IqRweG1sY_G142FAakhimzKcgQBDQ,203
|
|
30
51
|
kinto/core/permission/__init__.py,sha256=RoI8UJYl3X8ZmuUfVGC8QH1g4EGNrRknUao97D3jKRE,7331
|
|
31
52
|
kinto/core/permission/memory.py,sha256=ymageLrGfgYxa0j8erOvVq2WPDBgtTo75R0wcL3Wx3Y,6171
|
|
@@ -36,7 +57,7 @@ kinto/core/permission/postgresql/migrations/migration_001_002.sql,sha256=ey5rDVQ
|
|
|
36
57
|
kinto/core/resource/__init__.py,sha256=B-1X3nPzIZOiN8Dc_tSersAP-Wn4jXf3GcrctN2Ck1k,50746
|
|
37
58
|
kinto/core/resource/model.py,sha256=xjZ6shnhelXCdWvgw6yeOWXodxiKMm9iyDqLTk0i8Bs,15626
|
|
38
59
|
kinto/core/resource/schema.py,sha256=EhPKDMlBjx60hXztMvywfo4IrRfwaZ3V-7sY_sl-BYk,16126
|
|
39
|
-
kinto/core/resource/viewset.py,sha256=
|
|
60
|
+
kinto/core/resource/viewset.py,sha256=Wo7mQwmI08IGnSetaqGF66fCqYPB1pDUdZa3U92NIic,7613
|
|
40
61
|
kinto/core/storage/__init__.py,sha256=EiGmwovOzB3j_d3pgQCgsVyoe0_Op9Ylgo2MfZW7Ugo,13258
|
|
41
62
|
kinto/core/storage/exceptions.py,sha256=o10f7LohwyCHOTlR-dOdnB4us_MdCGOJUxZO8HZ3Akc,1304
|
|
42
63
|
kinto/core/storage/generators.py,sha256=rxWN9hOfOsB-PLeryhPGO-aE670sivr3LFRIExImpxc,1829
|
|
@@ -70,14 +91,14 @@ kinto/core/storage/postgresql/migrations/migration_019_020.sql,sha256=yDQDdzU65c
|
|
|
70
91
|
kinto/core/storage/postgresql/migrations/migration_020_021.sql,sha256=cEgfGNDLH3RyLswxy9YZazZtOvidxNsi57z7SGR8VsQ,2369
|
|
71
92
|
kinto/core/storage/postgresql/migrations/migration_021_022.sql,sha256=MUIAfgbBDQLy8JfklEs6ekK93nr1buVRtmBAHaaMXug,1993
|
|
72
93
|
kinto/core/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
|
-
kinto/core/views/batch.py,sha256=
|
|
94
|
+
kinto/core/views/batch.py,sha256=sWNn67YqfTbiqwpbwbm1QyumcVGi8aNhlT5AtLToElI,5657
|
|
74
95
|
kinto/core/views/errors.py,sha256=hjXugB1CE4MrfShKyitZBfKl7R9dtdwYrXsjX7l1QOU,5955
|
|
75
96
|
kinto/core/views/heartbeat.py,sha256=qidZ7fTvuPoJMo7miDnclAm_WsbgqubzsARrv9aCo5U,3336
|
|
76
97
|
kinto/core/views/hello.py,sha256=tTjJ2PHKPnmLL41cwF6e0AzPhm4WmojIc0VWHcZNOgI,1961
|
|
77
|
-
kinto/core/views/openapi.py,sha256=
|
|
98
|
+
kinto/core/views/openapi.py,sha256=PgxplQX1D0zqzlvRxBvd5SzrNMJmsaLfDta_fh-Pr-A,958
|
|
78
99
|
kinto/core/views/version.py,sha256=-m5G_o0oHTpCgrtfFrHFve6Zqw_gs_szT0Bd8jnNmD4,1419
|
|
79
100
|
kinto/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
-
kinto/plugins/flush.py,sha256=
|
|
101
|
+
kinto/plugins/flush.py,sha256=poiBOLGXjml0xXHjqDMRdbXJSd6N3SL0mfeGK2vxeHY,812
|
|
81
102
|
kinto/plugins/prometheus.py,sha256=oGpm1H4-CTVK4kd_GWDyn4nKBCSVq1fypdBoewDMRPk,6209
|
|
82
103
|
kinto/plugins/statsd.py,sha256=-VasJZM1xkhTfFa6_0GgWwfPqKnYS2722bSMDLzZ3pI,2469
|
|
83
104
|
kinto/plugins/accounts/__init__.py,sha256=KX3rTxHf520JNXfAa1RwCMZijSR6kPjOrMbTxMig8yk,4346
|
|
@@ -112,7 +133,7 @@ kinto/plugins/history/listener.py,sha256=Tq5ZHpIOIzQs9yPXA1exEftPoYCuFQJvgxbaIb6
|
|
|
112
133
|
kinto/plugins/history/views.py,sha256=NoBP-S7epeH5TLZZbIqfBmwMA2KaWmxP7lqPAS11BTU,2293
|
|
113
134
|
kinto/plugins/openid/__init__.py,sha256=1Iv5SCa6vwEvoJkmGd45-TYm_mxz2okFj6u2VTNuVrk,4863
|
|
114
135
|
kinto/plugins/openid/utils.py,sha256=n3KGS-ogXR2sg6j4QtdPe_DtEsqD7AGVT2K7vhl8yE8,273
|
|
115
|
-
kinto/plugins/openid/views.py,sha256=
|
|
136
|
+
kinto/plugins/openid/views.py,sha256=RRLBH6uipqafPSyQG5bi8nQOGGO6kT4fGLW4H3blU3E,6519
|
|
116
137
|
kinto/plugins/quotas/__init__.py,sha256=7yKJkux2WzhSBRO2BG9dgFlkaWW2RE8Dvgup4YlKdsc,613
|
|
117
138
|
kinto/plugins/quotas/listener.py,sha256=WKKaCNRJw8XoIfnJb3S0ogYhzAo28RcfLE-MzP6Cs2U,8564
|
|
118
139
|
kinto/plugins/quotas/scripts.py,sha256=a3KuzUwtCp_yu78yqr3XdbaHvZyBcUy6o_keNtsuU-M,2941
|
|
@@ -121,13 +142,13 @@ kinto/views/__init__.py,sha256=mItMqadROvEieXtxm0AoDReH3PwxOlM4rzECPCQfK_s,1187
|
|
|
121
142
|
kinto/views/admin.py,sha256=m4JKApzUUQNmmbHOfoc2n0CK01OrNiho21nYW_f5zlo,7439
|
|
122
143
|
kinto/views/buckets.py,sha256=3dc5cURZEP4vPKfk3f9W3BDbloG3QZ2lefhIoo-BiSQ,1868
|
|
123
144
|
kinto/views/collections.py,sha256=KrqJuje88er1VS2mtspMnXU6eYeZQTqUw0zB1ova9Bo,2206
|
|
124
|
-
kinto/views/contribute.py,sha256=
|
|
145
|
+
kinto/views/contribute.py,sha256=07uQXDtlBCC-gt1O1AhVxiPstNVmDtagfVtk6NgyzYA,1184
|
|
125
146
|
kinto/views/groups.py,sha256=jOq5fX0-4lwZE8k1q5HME2tU7x9052rtBPF7YqcJ-Qg,3181
|
|
126
147
|
kinto/views/permissions.py,sha256=F0_eKx201WyLonXJ5vLdGKa9RcFKjvAihrEEhU1JuLw,9069
|
|
127
148
|
kinto/views/records.py,sha256=lYfACW2L8qcQoyYBD5IX-fTPjFWmGp7GjHq_U4InlyE,5037
|
|
128
|
-
kinto-19.
|
|
129
|
-
kinto-19.
|
|
130
|
-
kinto-19.
|
|
131
|
-
kinto-19.
|
|
132
|
-
kinto-19.
|
|
133
|
-
kinto-19.
|
|
149
|
+
kinto-19.6.0.dist-info/LICENSE,sha256=oNEIMTuTJzppR5ZEyi86yvvtSagveMYXTYFn56zF0Uk,561
|
|
150
|
+
kinto-19.6.0.dist-info/METADATA,sha256=jx5ZAr7FjHmL3ej9XQgQN6CBw4lovSL5ADarD7rxA98,8851
|
|
151
|
+
kinto-19.6.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
152
|
+
kinto-19.6.0.dist-info/entry_points.txt,sha256=3KlqBWPKY81mrCe_oX0I5s1cRO7Q53nCLbnVr5P9LH4,85
|
|
153
|
+
kinto-19.6.0.dist-info/top_level.txt,sha256=EG_YmbZL6FAug9VwopG7JtF9SvH_r0DEnFp-3twPPys,6
|
|
154
|
+
kinto-19.6.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|