mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-26 03:23:59 +03:00
Removed custom StringIO, force_text, smart_text compat
This commit is contained in:
parent
09e59f2686
commit
d54c67d79d
|
@ -9,31 +9,19 @@ from __future__ import unicode_literals
|
||||||
import inspect
|
import inspect
|
||||||
|
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
|
from django.utils.encoding import force_text
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
import django
|
import django
|
||||||
|
|
||||||
|
|
||||||
# Handle django.utils.encoding rename in 1.5 onwards.
|
|
||||||
# smart_unicode -> smart_text
|
|
||||||
# force_unicode -> force_text
|
|
||||||
try:
|
|
||||||
from django.utils.encoding import smart_text
|
|
||||||
except ImportError:
|
|
||||||
from django.utils.encoding import smart_unicode as smart_text
|
|
||||||
try:
|
|
||||||
from django.utils.encoding import force_text
|
|
||||||
except ImportError:
|
|
||||||
from django.utils.encoding import force_unicode as force_text
|
|
||||||
|
|
||||||
|
|
||||||
# OrderedDict only available in Python 2.7.
|
# OrderedDict only available in Python 2.7.
|
||||||
# This will always be the case in Django 1.7 and above, as these versions
|
# This will always be the case in Django 1.7 and above, as these versions
|
||||||
# no longer support Python 2.6.
|
# no longer support Python 2.6.
|
||||||
# For Django <= 1.6 and Python 2.6 fall back to OrderedDict.
|
# For Django <= 1.6 and Python 2.6 fall back to OrderedDict.
|
||||||
try:
|
try:
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
except:
|
except ImportError:
|
||||||
from django.utils.datastructures import SortedDict as OrderedDict
|
from django.utils.datastructures import SortedDict as OrderedDict
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,21 +60,13 @@ if 'guardian' in settings.INSTALLED_APPS:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
# cStringIO only if it's available, otherwise StringIO
|
|
||||||
try:
|
|
||||||
import cStringIO.StringIO as StringIO
|
|
||||||
except ImportError:
|
|
||||||
StringIO = six.StringIO
|
|
||||||
|
|
||||||
BytesIO = six.BytesIO
|
|
||||||
|
|
||||||
|
|
||||||
# urlparse compat import (Required because it changed in python 3.x)
|
# urlparse compat import (Required because it changed in python 3.x)
|
||||||
try:
|
try:
|
||||||
from urllib import parse as urlparse
|
from urllib import parse as urlparse
|
||||||
except ImportError:
|
except ImportError:
|
||||||
import urlparse
|
import urlparse
|
||||||
|
|
||||||
|
|
||||||
# UserDict moves in Python 3
|
# UserDict moves in Python 3
|
||||||
try:
|
try:
|
||||||
from UserDict import UserDict
|
from UserDict import UserDict
|
||||||
|
@ -104,14 +84,6 @@ def get_model_name(model_cls):
|
||||||
return model_cls._meta.module_name
|
return model_cls._meta.module_name
|
||||||
|
|
||||||
|
|
||||||
def get_concrete_model(model_cls):
|
|
||||||
try:
|
|
||||||
return model_cls._meta.concrete_model
|
|
||||||
except AttributeError:
|
|
||||||
# 1.3 does not include concrete model
|
|
||||||
return model_cls
|
|
||||||
|
|
||||||
|
|
||||||
# View._allowed_methods only present from 1.5 onwards
|
# View._allowed_methods only present from 1.5 onwards
|
||||||
if django.VERSION >= (1, 5):
|
if django.VERSION >= (1, 5):
|
||||||
from django.views.generic import View
|
from django.views.generic import View
|
||||||
|
|
|
@ -5,11 +5,11 @@ In addition Django's built in 403 and 404 exceptions are handled.
|
||||||
(`django.http.Http404` and `django.core.exceptions.PermissionDenied`)
|
(`django.http.Http404` and `django.core.exceptions.PermissionDenied`)
|
||||||
"""
|
"""
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
from django.utils.encoding import force_text
|
||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.utils.translation import ungettext_lazy
|
from django.utils.translation import ungettext_lazy
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from rest_framework.compat import force_text
|
|
||||||
import math
|
import math
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,11 @@ from django.core.validators import RegexValidator
|
||||||
from django.forms import ImageField as DjangoImageField
|
from django.forms import ImageField as DjangoImageField
|
||||||
from django.utils import six, timezone
|
from django.utils import six, timezone
|
||||||
from django.utils.dateparse import parse_date, parse_datetime, parse_time
|
from django.utils.dateparse import parse_date, parse_datetime, parse_time
|
||||||
from django.utils.encoding import is_protected_type
|
from django.utils.encoding import is_protected_type, smart_text
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from rest_framework import ISO_8601
|
from rest_framework import ISO_8601
|
||||||
from rest_framework.compat import (
|
from rest_framework.compat import (
|
||||||
smart_text, EmailValidator, MinValueValidator, MaxValueValidator,
|
EmailValidator, MinValueValidator, MaxValueValidator,
|
||||||
MinLengthValidator, MaxLengthValidator, URLValidator, OrderedDict
|
MinLengthValidator, MaxLengthValidator, URLValidator, OrderedDict
|
||||||
)
|
)
|
||||||
from rest_framework.exceptions import ValidationError
|
from rest_framework.exceptions import ValidationError
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
"""
|
"""
|
||||||
The metadata API is used to allow cusomization of how `OPTIONS` requests
|
The metadata API is used to allow customization of how `OPTIONS` requests
|
||||||
are handled. We currently provide a single default implementation that returns
|
are handled. We currently provide a single default implementation that returns
|
||||||
some fairly ad-hoc information about the view.
|
some fairly ad-hoc information about the view.
|
||||||
|
|
||||||
Future implementations might use JSON schema or other definations in order
|
Future implementations might use JSON schema or other definitions in order
|
||||||
to return this information in a more standardized way.
|
to return this information in a more standardized way.
|
||||||
"""
|
"""
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
|
from django.utils.encoding import force_text
|
||||||
from rest_framework import exceptions, serializers
|
from rest_framework import exceptions, serializers
|
||||||
from rest_framework.compat import force_text, OrderedDict
|
from rest_framework.compat import OrderedDict
|
||||||
from rest_framework.request import clone_request
|
from rest_framework.request import clone_request
|
||||||
from rest_framework.utils.field_mapping import ClassLookupDict
|
from rest_framework.utils.field_mapping import ClassLookupDict
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,8 @@ from django.http import QueryDict
|
||||||
from django.http.multipartparser import MultiPartParser as DjangoMultiPartParser
|
from django.http.multipartparser import MultiPartParser as DjangoMultiPartParser
|
||||||
from django.http.multipartparser import MultiPartParserError, parse_header, ChunkIter
|
from django.http.multipartparser import MultiPartParserError, parse_header, ChunkIter
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
from rest_framework.compat import etree, yaml, force_text, urlparse
|
from django.utils.encoding import force_text
|
||||||
|
from rest_framework.compat import etree, yaml, urlparse
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
from rest_framework import renderers
|
from rest_framework import renderers
|
||||||
import json
|
import json
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from rest_framework.compat import smart_text, urlparse
|
from django.utils.encoding import smart_text
|
||||||
|
from rest_framework.compat import urlparse
|
||||||
from rest_framework.fields import get_attribute, empty, Field
|
from rest_framework.fields import get_attribute, empty, Field
|
||||||
from rest_framework.reverse import reverse
|
from rest_framework.reverse import reverse
|
||||||
from rest_framework.utils import html
|
from rest_framework.utils import html
|
||||||
|
|
|
@ -16,11 +16,11 @@ from django.http.multipartparser import parse_header
|
||||||
from django.template import Context, RequestContext, loader, Template
|
from django.template import Context, RequestContext, loader, Template
|
||||||
from django.test.client import encode_multipart
|
from django.test.client import encode_multipart
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
|
from django.utils.encoding import smart_text
|
||||||
from django.utils.xmlutils import SimplerXMLGenerator
|
from django.utils.xmlutils import SimplerXMLGenerator
|
||||||
|
from django.utils.six.moves import StringIO
|
||||||
from rest_framework import exceptions, serializers, status, VERSION
|
from rest_framework import exceptions, serializers, status, VERSION
|
||||||
from rest_framework.compat import (
|
from rest_framework.compat import SHORT_SEPARATORS, LONG_SEPARATORS, yaml
|
||||||
SHORT_SEPARATORS, LONG_SEPARATORS, StringIO, smart_text, yaml
|
|
||||||
)
|
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
from rest_framework.settings import api_settings
|
from rest_framework.settings import api_settings
|
||||||
from rest_framework.request import is_form_media_type, override_method
|
from rest_framework.request import is_form_media_type, override_method
|
||||||
|
|
|
@ -14,9 +14,9 @@ from django.http import QueryDict
|
||||||
from django.http.multipartparser import parse_header
|
from django.http.multipartparser import parse_header
|
||||||
from django.utils.datastructures import MultiValueDict
|
from django.utils.datastructures import MultiValueDict
|
||||||
from django.utils.datastructures import MergeDict as DjangoMergeDict
|
from django.utils.datastructures import MergeDict as DjangoMergeDict
|
||||||
|
from django.utils.six import BytesIO
|
||||||
from rest_framework import HTTP_HEADER_ENCODING
|
from rest_framework import HTTP_HEADER_ENCODING
|
||||||
from rest_framework import exceptions
|
from rest_framework import exceptions
|
||||||
from rest_framework.compat import BytesIO
|
|
||||||
from rest_framework.settings import api_settings
|
from rest_framework.settings import api_settings
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,11 @@ from django import template
|
||||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||||
from django.http import QueryDict
|
from django.http import QueryDict
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
from django.utils.encoding import iri_to_uri
|
from django.utils.encoding import iri_to_uri, force_text
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from django.utils.safestring import SafeData, mark_safe
|
from django.utils.safestring import SafeData, mark_safe
|
||||||
from django.utils.html import smart_urlquote
|
from django.utils.html import smart_urlquote
|
||||||
from rest_framework.compat import urlparse, force_text
|
from rest_framework.compat import urlparse
|
||||||
from rest_framework.renderers import HTMLFormRenderer
|
from rest_framework.renderers import HTMLFormRenderer
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,9 @@ Helper classes for parsers.
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
from django.db.models.query import QuerySet
|
from django.db.models.query import QuerySet
|
||||||
from django.utils import six, timezone
|
from django.utils import six, timezone
|
||||||
|
from django.utils.encoding import force_text
|
||||||
from django.utils.functional import Promise
|
from django.utils.functional import Promise
|
||||||
from rest_framework.compat import force_text, OrderedDict
|
from rest_framework.compat import OrderedDict
|
||||||
import datetime
|
import datetime
|
||||||
import decimal
|
import decimal
|
||||||
import types
|
import types
|
||||||
|
|
|
@ -3,8 +3,8 @@ Helper functions for creating user-friendly representations
|
||||||
of serializer classes and serializer fields.
|
of serializer classes and serializer fields.
|
||||||
"""
|
"""
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.utils.encoding import force_text
|
||||||
from django.utils.functional import Promise
|
from django.utils.functional import Promise
|
||||||
from rest_framework.compat import force_text
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,10 @@ from __future__ import unicode_literals
|
||||||
|
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
|
from django.utils.encoding import smart_text
|
||||||
from django.views.decorators.csrf import csrf_exempt
|
from django.views.decorators.csrf import csrf_exempt
|
||||||
from rest_framework import status, exceptions
|
from rest_framework import status, exceptions
|
||||||
from rest_framework.compat import smart_text, HttpResponseBase, View
|
from rest_framework.compat import HttpResponseBase, View
|
||||||
from rest_framework.request import Request
|
from rest_framework.request import Request
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.settings import api_settings
|
from rest_framework.settings import api_settings
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils.encoding import python_2_unicode_compatible
|
from django.utils.encoding import python_2_unicode_compatible, smart_text
|
||||||
from rest_framework.compat import apply_markdown, smart_text
|
from rest_framework.compat import apply_markdown
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
from .description import ViewWithNonASCIICharactersInDocstring
|
from .description import ViewWithNonASCIICharactersInDocstring
|
||||||
from .description import UTF8_TEST_DOCSTRING
|
from .description import UTF8_TEST_DOCSTRING
|
||||||
|
|
|
@ -5,8 +5,8 @@ from django import forms
|
||||||
from django.core.files.uploadhandler import MemoryFileUploadHandler
|
from django.core.files.uploadhandler import MemoryFileUploadHandler
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils import unittest
|
from django.utils import unittest
|
||||||
|
from django.utils.six.moves import StringIO
|
||||||
from rest_framework.compat import etree
|
from rest_framework.compat import etree
|
||||||
from rest_framework.compat import StringIO
|
|
||||||
from rest_framework.exceptions import ParseError
|
from rest_framework.exceptions import ParseError
|
||||||
from rest_framework.parsers import FormParser, FileUploadParser
|
from rest_framework.parsers import FormParser, FileUploadParser
|
||||||
from rest_framework.parsers import XMLParser
|
from rest_framework.parsers import XMLParser
|
||||||
|
|
|
@ -7,9 +7,11 @@ from django.core.cache import cache
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils import six, unittest
|
from django.utils import six, unittest
|
||||||
|
from django.utils.six import BytesIO
|
||||||
|
from django.utils.six.moves import StringIO
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from rest_framework import status, permissions
|
from rest_framework import status, permissions
|
||||||
from rest_framework.compat import yaml, etree, StringIO, BytesIO
|
from rest_framework.compat import yaml, etree
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
from rest_framework.renderers import BaseRenderer, JSONRenderer, YAMLRenderer, \
|
from rest_framework.renderers import BaseRenderer, JSONRenderer, YAMLRenderer, \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user