diff --git a/pyproject.toml b/pyproject.toml index f5551d80ae..c89b6a0024 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,7 +63,7 @@ max_supported_python = "3.14" [tool.pytest.ini_options] addopts = "--tb=short --strict-markers -ra" testpaths = [ "tests" ] -filterwarnings = [ "ignore:CoreAPI compatibility is deprecated*:rest_framework.RemovedInDRF317Warning" ] +filterwarnings = [ "ignore:CoreAPI compatibility is deprecated*:rest_framework.RemovedInDRF318Warning" ] [tool.coverage.run] # NOTE: source is ignored with pytest-cov (but uses the same). diff --git a/rest_framework/__init__.py b/rest_framework/__init__.py index 61e078a953..d7e4060ffd 100644 --- a/rest_framework/__init__.py +++ b/rest_framework/__init__.py @@ -24,5 +24,5 @@ DJANGO_DURATION_FORMAT = 'django' -class RemovedInDRF317Warning(PendingDeprecationWarning): +class RemovedInDRF318Warning(DeprecationWarning): pass diff --git a/rest_framework/filters.py b/rest_framework/filters.py index 3f4730da84..328893fe44 100644 --- a/rest_framework/filters.py +++ b/rest_framework/filters.py @@ -14,7 +14,7 @@ from django.utils.text import smart_split, unescape_string_literal from django.utils.translation import gettext_lazy as _ -from rest_framework import RemovedInDRF317Warning +from rest_framework import RemovedInDRF318Warning from rest_framework.compat import coreapi, coreschema from rest_framework.fields import CharField from rest_framework.settings import api_settings @@ -51,7 +51,7 @@ def filter_queryset(self, request, queryset, view): def get_schema_fields(self, view): assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert coreschema is not None, 'coreschema must be installed to use `get_schema_fields()`' return [] @@ -189,7 +189,7 @@ def to_html(self, request, queryset, view): def get_schema_fields(self, view): assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert coreschema is not None, 'coreschema must be installed to use `get_schema_fields()`' return [ coreapi.Field( @@ -351,7 +351,7 @@ def to_html(self, request, queryset, view): def get_schema_fields(self, view): assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert coreschema is not None, 'coreschema must be installed to use `get_schema_fields()`' return [ coreapi.Field( diff --git a/rest_framework/pagination.py b/rest_framework/pagination.py index a543ceeb50..b6329b8c3a 100644 --- a/rest_framework/pagination.py +++ b/rest_framework/pagination.py @@ -15,7 +15,7 @@ from django.utils.encoding import force_str from django.utils.translation import gettext_lazy as _ -from rest_framework import RemovedInDRF317Warning +from rest_framework import RemovedInDRF318Warning from rest_framework.compat import coreapi, coreschema from rest_framework.exceptions import NotFound from rest_framework.response import Response @@ -154,7 +154,7 @@ def get_results(self, data): def get_schema_fields(self, view): assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) return [] def get_schema_operation_parameters(self, view): @@ -316,7 +316,7 @@ def to_html(self): def get_schema_fields(self, view): assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert coreschema is not None, 'coreschema must be installed to use `get_schema_fields()`' fields = [ coreapi.Field( @@ -533,7 +533,7 @@ def get_count(self, queryset): def get_schema_fields(self, view): assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert coreschema is not None, 'coreschema must be installed to use `get_schema_fields()`' return [ coreapi.Field( @@ -936,7 +936,7 @@ def to_html(self): def get_schema_fields(self, view): assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert coreschema is not None, 'coreschema must be installed to use `get_schema_fields()`' fields = [ coreapi.Field( diff --git a/rest_framework/schemas/coreapi.py b/rest_framework/schemas/coreapi.py index 1397f98423..b56c2ecae9 100644 --- a/rest_framework/schemas/coreapi.py +++ b/rest_framework/schemas/coreapi.py @@ -5,7 +5,7 @@ from django.db import models from django.utils.encoding import force_str -from rest_framework import RemovedInDRF317Warning, exceptions, serializers +from rest_framework import RemovedInDRF318Warning, exceptions, serializers from rest_framework.compat import coreapi, coreschema, uritemplate from rest_framework.settings import api_settings @@ -119,7 +119,7 @@ class SchemaGenerator(BaseSchemaGenerator): def __init__(self, title=None, url=None, description=None, patterns=None, urlconf=None, version=None): assert coreapi, '`coreapi` must be installed for schema support.' if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert coreschema, '`coreschema` must be installed for schema support.' super().__init__(title, url, description, patterns, urlconf) @@ -354,7 +354,7 @@ def __init__(self, manual_fields=None): """ super().__init__() if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) if manual_fields is None: manual_fields = [] @@ -598,7 +598,7 @@ def __init__(self, fields, description='', encoding=None): """ super().__init__() if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) assert all(isinstance(f, coreapi.Field) for f in fields), "`fields` must be a list of coreapi.Field instances" self._fields = fields @@ -622,5 +622,5 @@ def get_link(self, path, method, base_url): def is_enabled(): """Is CoreAPI Mode enabled?""" if coreapi is not None: - warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.17', RemovedInDRF317Warning) + warnings.warn('CoreAPI compatibility is deprecated and will be removed in DRF 3.18', RemovedInDRF318Warning) return issubclass(api_settings.DEFAULT_SCHEMA_CLASS, AutoSchema) diff --git a/tests/schemas/test_coreapi.py b/tests/schemas/test_coreapi.py index a97b02fe1f..6e76447c66 100644 --- a/tests/schemas/test_coreapi.py +++ b/tests/schemas/test_coreapi.py @@ -7,7 +7,7 @@ from django.urls import include, path from rest_framework import ( - RemovedInDRF317Warning, filters, generics, pagination, permissions, + RemovedInDRF318Warning, filters, generics, pagination, permissions, serializers ) from rest_framework.compat import coreapi, coreschema @@ -1445,42 +1445,42 @@ def test_schema_handles_exception(): @pytest.mark.skipif(not coreapi, reason='coreapi is not installed') def test_coreapi_deprecation(): - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): SchemaGenerator() - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): AutoSchema() - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): ManualSchema({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): deprecated_filter = OrderingFilter() deprecated_filter.get_schema_fields({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): deprecated_filter = BaseFilterBackend() deprecated_filter.get_schema_fields({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): deprecated_filter = SearchFilter() deprecated_filter.get_schema_fields({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): paginator = BasePagination() paginator.get_schema_fields({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): paginator = PageNumberPagination() paginator.get_schema_fields({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): paginator = LimitOffsetPagination() paginator.get_schema_fields({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): paginator = CursorPagination() paginator.get_schema_fields({}) - with pytest.warns(RemovedInDRF317Warning): + with pytest.warns(RemovedInDRF318Warning): is_enabled()