mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-24 10:34:03 +03:00
replace force_text with force_str
This commit is contained in:
parent
b45ff07294
commit
335054a5d3
|
@ -7,7 +7,7 @@ In addition Django's built in 403 and 404 exceptions are handled.
|
|||
import math
|
||||
|
||||
from django.http import JsonResponse
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.utils.translation import ngettext
|
||||
|
||||
|
@ -36,7 +36,7 @@ def _get_error_details(data, default_code=None):
|
|||
return ReturnDict(ret, serializer=data.serializer)
|
||||
return ret
|
||||
|
||||
text = force_text(data)
|
||||
text = force_str(data)
|
||||
code = getattr(data, 'code', default_code)
|
||||
return ErrorDetail(text, code)
|
||||
|
||||
|
@ -191,7 +191,7 @@ class MethodNotAllowed(APIException):
|
|||
|
||||
def __init__(self, method, detail=None, code=None):
|
||||
if detail is None:
|
||||
detail = force_text(self.default_detail).format(method=method)
|
||||
detail = force_str(self.default_detail).format(method=method)
|
||||
super().__init__(detail, code)
|
||||
|
||||
|
||||
|
@ -212,7 +212,7 @@ class UnsupportedMediaType(APIException):
|
|||
|
||||
def __init__(self, media_type, detail=None, code=None):
|
||||
if detail is None:
|
||||
detail = force_text(self.default_detail).format(media_type=media_type)
|
||||
detail = force_str(self.default_detail).format(media_type=media_type)
|
||||
super().__init__(detail, code)
|
||||
|
||||
|
||||
|
@ -225,12 +225,12 @@ class Throttled(APIException):
|
|||
|
||||
def __init__(self, wait=None, detail=None, code=None):
|
||||
if detail is None:
|
||||
detail = force_text(self.default_detail)
|
||||
detail = force_str(self.default_detail)
|
||||
if wait is not None:
|
||||
wait = math.ceil(wait)
|
||||
detail = ' '.join((
|
||||
detail,
|
||||
force_text(ngettext(self.extra_detail_singular.format(wait=wait),
|
||||
force_str(ngettext(self.extra_detail_singular.format(wait=wait),
|
||||
self.extra_detail_plural.format(wait=wait),
|
||||
wait))))
|
||||
self.wait = wait
|
||||
|
|
|
@ -10,7 +10,7 @@ from django.db import models
|
|||
from django.db.models.constants import LOOKUP_SEP
|
||||
from django.db.models.sql.constants import ORDER_PATTERN
|
||||
from django.template import loader
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from rest_framework.compat import coreapi, coreschema, distinct
|
||||
|
@ -151,8 +151,8 @@ class SearchFilter(BaseFilterBackend):
|
|||
required=False,
|
||||
location='query',
|
||||
schema=coreschema.String(
|
||||
title=force_text(self.search_title),
|
||||
description=force_text(self.search_description)
|
||||
title=force_str(self.search_title),
|
||||
description=force_str(self.search_description)
|
||||
)
|
||||
)
|
||||
]
|
||||
|
@ -163,7 +163,7 @@ class SearchFilter(BaseFilterBackend):
|
|||
'name': self.search_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.search_description),
|
||||
'description': force_str(self.search_description),
|
||||
'schema': {
|
||||
'type': 'string',
|
||||
},
|
||||
|
@ -295,8 +295,8 @@ class OrderingFilter(BaseFilterBackend):
|
|||
required=False,
|
||||
location='query',
|
||||
schema=coreschema.String(
|
||||
title=force_text(self.ordering_title),
|
||||
description=force_text(self.ordering_description)
|
||||
title=force_str(self.ordering_title),
|
||||
description=force_str(self.ordering_description)
|
||||
)
|
||||
)
|
||||
]
|
||||
|
@ -307,7 +307,7 @@ class OrderingFilter(BaseFilterBackend):
|
|||
'name': self.ordering_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.ordering_description),
|
||||
'description': force_str(self.ordering_description),
|
||||
'schema': {
|
||||
'type': 'string',
|
||||
},
|
||||
|
|
|
@ -10,7 +10,7 @@ from collections import OrderedDict
|
|||
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import Http404
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
|
||||
from rest_framework import exceptions, serializers
|
||||
from rest_framework.request import clone_request
|
||||
|
@ -130,7 +130,7 @@ class SimpleMetadata(BaseMetadata):
|
|||
for attr in attrs:
|
||||
value = getattr(field, attr, None)
|
||||
if value is not None and value != '':
|
||||
field_info[attr] = force_text(value, strings_only=True)
|
||||
field_info[attr] = force_str(value, strings_only=True)
|
||||
|
||||
if getattr(field, 'child', None):
|
||||
field_info['child'] = self.get_field_info(field.child)
|
||||
|
@ -143,7 +143,7 @@ class SimpleMetadata(BaseMetadata):
|
|||
field_info['choices'] = [
|
||||
{
|
||||
'value': choice_value,
|
||||
'display_name': force_text(choice_name, strings_only=True)
|
||||
'display_name': force_str(choice_name, strings_only=True)
|
||||
}
|
||||
for choice_value, choice_name in field.choices.items()
|
||||
]
|
||||
|
|
|
@ -9,7 +9,7 @@ from urllib import parse
|
|||
from django.core.paginator import InvalidPage
|
||||
from django.core.paginator import Paginator as DjangoPaginator
|
||||
from django.template import loader
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from rest_framework.compat import coreapi, coreschema
|
||||
|
@ -286,7 +286,7 @@ class PageNumberPagination(BasePagination):
|
|||
location='query',
|
||||
schema=coreschema.Integer(
|
||||
title='Page',
|
||||
description=force_text(self.page_query_description)
|
||||
description=force_str(self.page_query_description)
|
||||
)
|
||||
)
|
||||
]
|
||||
|
@ -298,7 +298,7 @@ class PageNumberPagination(BasePagination):
|
|||
location='query',
|
||||
schema=coreschema.Integer(
|
||||
title='Page size',
|
||||
description=force_text(self.page_size_query_description)
|
||||
description=force_str(self.page_size_query_description)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -310,7 +310,7 @@ class PageNumberPagination(BasePagination):
|
|||
'name': self.page_query_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.page_query_description),
|
||||
'description': force_str(self.page_query_description),
|
||||
'schema': {
|
||||
'type': 'integer',
|
||||
},
|
||||
|
@ -322,7 +322,7 @@ class PageNumberPagination(BasePagination):
|
|||
'name': self.page_size_query_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.page_size_query_description),
|
||||
'description': force_str(self.page_size_query_description),
|
||||
'schema': {
|
||||
'type': 'integer',
|
||||
},
|
||||
|
@ -478,7 +478,7 @@ class LimitOffsetPagination(BasePagination):
|
|||
location='query',
|
||||
schema=coreschema.Integer(
|
||||
title='Limit',
|
||||
description=force_text(self.limit_query_description)
|
||||
description=force_str(self.limit_query_description)
|
||||
)
|
||||
),
|
||||
coreapi.Field(
|
||||
|
@ -487,7 +487,7 @@ class LimitOffsetPagination(BasePagination):
|
|||
location='query',
|
||||
schema=coreschema.Integer(
|
||||
title='Offset',
|
||||
description=force_text(self.offset_query_description)
|
||||
description=force_str(self.offset_query_description)
|
||||
)
|
||||
)
|
||||
]
|
||||
|
@ -498,7 +498,7 @@ class LimitOffsetPagination(BasePagination):
|
|||
'name': self.limit_query_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.limit_query_description),
|
||||
'description': force_str(self.limit_query_description),
|
||||
'schema': {
|
||||
'type': 'integer',
|
||||
},
|
||||
|
@ -507,7 +507,7 @@ class LimitOffsetPagination(BasePagination):
|
|||
'name': self.offset_query_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.offset_query_description),
|
||||
'description': force_str(self.offset_query_description),
|
||||
'schema': {
|
||||
'type': 'integer',
|
||||
},
|
||||
|
@ -861,7 +861,7 @@ class CursorPagination(BasePagination):
|
|||
location='query',
|
||||
schema=coreschema.String(
|
||||
title='Cursor',
|
||||
description=force_text(self.cursor_query_description)
|
||||
description=force_str(self.cursor_query_description)
|
||||
)
|
||||
)
|
||||
]
|
||||
|
@ -873,7 +873,7 @@ class CursorPagination(BasePagination):
|
|||
location='query',
|
||||
schema=coreschema.Integer(
|
||||
title='Page size',
|
||||
description=force_text(self.page_size_query_description)
|
||||
description=force_str(self.page_size_query_description)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -885,7 +885,7 @@ class CursorPagination(BasePagination):
|
|||
'name': self.cursor_query_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.cursor_query_description),
|
||||
'description': force_str(self.cursor_query_description),
|
||||
'schema': {
|
||||
'type': 'integer',
|
||||
},
|
||||
|
@ -897,7 +897,7 @@ class CursorPagination(BasePagination):
|
|||
'name': self.page_size_query_param,
|
||||
'required': False,
|
||||
'in': 'query',
|
||||
'description': force_text(self.page_size_query_description),
|
||||
'description': force_str(self.page_size_query_description),
|
||||
'schema': {
|
||||
'type': 'integer',
|
||||
},
|
||||
|
|
|
@ -14,7 +14,7 @@ from django.http.multipartparser import ChunkIter
|
|||
from django.http.multipartparser import \
|
||||
MultiPartParser as DjangoMultiPartParser
|
||||
from django.http.multipartparser import MultiPartParserError, parse_header
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
|
||||
from rest_framework import renderers
|
||||
from rest_framework.exceptions import ParseError
|
||||
|
@ -205,7 +205,7 @@ class FileUploadParser(BaseParser):
|
|||
filename_parm = disposition[1]
|
||||
if 'filename*' in filename_parm:
|
||||
return self.get_encoded_filename(filename_parm)
|
||||
return force_text(filename_parm['filename'])
|
||||
return force_str(filename_parm['filename'])
|
||||
except (AttributeError, KeyError, ValueError):
|
||||
pass
|
||||
|
||||
|
@ -214,10 +214,10 @@ class FileUploadParser(BaseParser):
|
|||
Handle encoded filenames per RFC6266. See also:
|
||||
https://tools.ietf.org/html/rfc2231#section-4
|
||||
"""
|
||||
encoded_filename = force_text(filename_parm['filename*'])
|
||||
encoded_filename = force_str(filename_parm['filename*'])
|
||||
try:
|
||||
charset, lang, filename = encoded_filename.split('\'', 2)
|
||||
filename = parse.unquote(filename)
|
||||
except (ValueError, LookupError):
|
||||
filename = force_text(filename_parm['filename'])
|
||||
filename = force_str(filename_parm['filename'])
|
||||
return filename
|
||||
|
|
|
@ -4,7 +4,7 @@ from collections import Counter, OrderedDict
|
|||
from urllib import parse
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import force_text, smart_text
|
||||
from django.utils.encoding import force_str, smart_text
|
||||
|
||||
from rest_framework import exceptions, serializers
|
||||
from rest_framework.compat import coreapi, coreschema, uritemplate
|
||||
|
@ -255,8 +255,8 @@ class SchemaGenerator(BaseSchemaGenerator):
|
|||
|
||||
|
||||
def field_to_schema(field):
|
||||
title = force_text(field.label) if field.label else ''
|
||||
description = force_text(field.help_text) if field.help_text else ''
|
||||
title = force_str(field.label) if field.label else ''
|
||||
description = force_str(field.help_text) if field.help_text else ''
|
||||
|
||||
if isinstance(field, (serializers.ListSerializer, serializers.ListField)):
|
||||
child_schema = field_to_schema(field.child)
|
||||
|
@ -457,10 +457,10 @@ class AutoSchema(ViewInspector):
|
|||
model_field = None
|
||||
|
||||
if model_field is not None and model_field.verbose_name:
|
||||
title = force_text(model_field.verbose_name)
|
||||
title = force_str(model_field.verbose_name)
|
||||
|
||||
if model_field is not None and model_field.help_text:
|
||||
description = force_text(model_field.help_text)
|
||||
description = force_str(model_field.help_text)
|
||||
elif model_field is not None and model_field.primary_key:
|
||||
description = get_pk_description(model, model_field)
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ from django.core.validators import (
|
|||
MinLengthValidator, MinValueValidator, RegexValidator, URLValidator
|
||||
)
|
||||
from django.db import models
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
|
||||
from rest_framework import exceptions, serializers
|
||||
from rest_framework.compat import uritemplate
|
||||
|
@ -162,7 +162,7 @@ class AutoSchema(ViewInspector):
|
|||
model_field = None
|
||||
|
||||
if model_field is not None and model_field.help_text:
|
||||
description = force_text(model_field.help_text)
|
||||
description = force_str(model_field.help_text)
|
||||
elif model_field is not None and model_field.primary_key:
|
||||
description = get_pk_description(model, model_field)
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ from collections import OrderedDict
|
|||
from django import template
|
||||
from django.template import loader
|
||||
from django.urls import NoReverseMatch, reverse
|
||||
from django.utils.encoding import force_text, iri_to_uri
|
||||
from django.utils.encoding import force_str, iri_to_uri
|
||||
from django.utils.html import escape, format_html, smart_urlquote
|
||||
from django.utils.safestring import SafeData, mark_safe
|
||||
|
||||
|
@ -339,7 +339,7 @@ def urlize_quoted_links(text, trim_url_limit=None, nofollow=True, autoescape=Tru
|
|||
def conditional_escape(text):
|
||||
return escape(text) if autoescape and not safe_input else text
|
||||
|
||||
words = word_split_re.split(force_text(text))
|
||||
words = word_split_re.split(force_str(text))
|
||||
for i, word in enumerate(words):
|
||||
if '.' in word or '@' in word or ':' in word:
|
||||
# Deal with punctuation.
|
||||
|
|
|
@ -8,7 +8,7 @@ import uuid
|
|||
|
||||
from django.db.models.query import QuerySet
|
||||
from django.utils import timezone
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
from django.utils.functional import Promise
|
||||
|
||||
from rest_framework.compat import coreapi
|
||||
|
@ -23,7 +23,7 @@ class JSONEncoder(json.JSONEncoder):
|
|||
# For Date Time string spec, see ECMA 262
|
||||
# https://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
|
||||
if isinstance(obj, Promise):
|
||||
return force_text(obj)
|
||||
return force_str(obj)
|
||||
elif isinstance(obj, datetime.datetime):
|
||||
representation = obj.isoformat()
|
||||
if representation.endswith('+00:00'):
|
||||
|
|
|
@ -3,7 +3,7 @@ Utility functions to return a formatted name and description for a given view.
|
|||
"""
|
||||
import re
|
||||
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
from django.utils.html import escape
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
|
@ -29,7 +29,7 @@ def dedent(content):
|
|||
as it fails to dedent multiline docstrings that include
|
||||
unindented text on the initial line.
|
||||
"""
|
||||
content = force_text(content)
|
||||
content = force_str(content)
|
||||
lines = [line for line in content.splitlines()[1:] if line.lstrip()]
|
||||
|
||||
# unindent the content if needed
|
||||
|
|
|
@ -5,7 +5,7 @@ of serializer classes and serializer fields.
|
|||
import re
|
||||
|
||||
from django.db import models
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
from django.utils.functional import Promise
|
||||
|
||||
|
||||
|
@ -28,7 +28,7 @@ def smart_repr(value):
|
|||
return manager_repr(value)
|
||||
|
||||
if isinstance(value, Promise) and value._delegate_text:
|
||||
value = force_text(value)
|
||||
value = force_str(value)
|
||||
|
||||
value = repr(value)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from collections import OrderedDict
|
||||
from collections.abc import MutableMapping
|
||||
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_str
|
||||
|
||||
from rest_framework.utils import json
|
||||
|
||||
|
@ -123,7 +123,7 @@ class NestedBoundField(BoundField):
|
|||
if isinstance(value, (list, dict)):
|
||||
values[key] = value
|
||||
else:
|
||||
values[key] = '' if (value is None or value is False) else force_text(value)
|
||||
values[key] = '' if (value is None or value is False) else force_str(value)
|
||||
return self.__class__(self._field, values, self.errors, self._prefix)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user