Clean up Django 2 path backslashes

In Django 2, routes defines via urls.path are aggresively escaped when converted into regex.

This is a naive fix which unescapes all characters outside capture groups, but in the context of OpenAPI is okay because regular expressions inside paths are not supported anyway.

This issue affects django-rest-framework as well, as outlined in encode/django-rest-framework#5672, encode/django-rest-framework#5675.
This commit is contained in:
Cristi Vîjdea
2017-12-18 00:58:02 +01:00
parent f6c30181fe
commit 521172c195
5 changed files with 63 additions and 9 deletions
+2
View File
@@ -8,6 +8,8 @@ Changelog
*********
- **FIX:** fixed a crash caused by having read-only Serializers nested by reference
- **FIX:** removed erroneous backslashes in paths when routes are generated using Django 2
`path() <https://docs.djangoproject.com/en/2.0/ref/urls/#django.urls.path>`_
- **IMPROVEMENT:** updated ``swagger-ui`` to version 3.7.0
*********
+1
View File
@@ -168,6 +168,7 @@ nitpick_ignore = [
('py:class', 'ruamel.yaml.dumper.SafeDumper'),
('py:class', 'rest_framework.renderers.BaseRenderer'),
('py:class', 'rest_framework.schemas.generators.EndpointEnumerator'),
('py:class', 'rest_framework.views.APIView'),
('py:class', 'OpenAPICodecYaml'),