Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
d54c67d7
Commit
d54c67d7
authored
Dec 04, 2014
by
Tymur Maryokhin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed custom StringIO, force_text, smart_text compat
parent
09e59f26
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
31 additions
and
52 deletions
+31
-52
rest_framework/compat.py
+3
-31
rest_framework/exceptions.py
+1
-1
rest_framework/fields.py
+2
-2
rest_framework/metadata.py
+4
-3
rest_framework/parsers.py
+2
-1
rest_framework/relations.py
+2
-1
rest_framework/renderers.py
+3
-3
rest_framework/request.py
+1
-1
rest_framework/templatetags/rest_framework.py
+2
-2
rest_framework/utils/encoders.py
+2
-1
rest_framework/utils/representation.py
+1
-1
rest_framework/views.py
+2
-1
tests/test_description.py
+2
-2
tests/test_parsers.py
+1
-1
tests/test_renderers.py
+3
-1
No files found.
rest_framework/compat.py
View file @
d54c67d7
...
@@ -9,31 +9,19 @@ from __future__ import unicode_literals
...
@@ -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:
...
@@ -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):
...
@@ -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
...
...
rest_framework/exceptions.py
View file @
d54c67d7
...
@@ -5,11 +5,11 @@ In addition Django's built in 403 and 404 exceptions are handled.
...
@@ -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
...
...
rest_framework/fields.py
View file @
d54c67d7
...
@@ -5,11 +5,11 @@ from django.core.validators import RegexValidator
...
@@ -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
...
...
rest_framework/metadata.py
View file @
d54c67d7
"""
"""
The metadata API is used to allow cusomization of how `OPTIONS` requests
The metadata API is used to allow cus
t
omization 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 defin
a
tions in order
Future implementations might use JSON schema or other defin
i
tions 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
...
...
rest_framework/parsers.py
View file @
d54c67d7
...
@@ -12,7 +12,8 @@ from django.http import QueryDict
...
@@ -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
...
...
rest_framework/relations.py
View file @
d54c67d7
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
...
...
rest_framework/renderers.py
View file @
d54c67d7
...
@@ -16,11 +16,11 @@ from django.http.multipartparser import parse_header
...
@@ -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
...
...
rest_framework/request.py
View file @
d54c67d7
...
@@ -14,9 +14,9 @@ from django.http import QueryDict
...
@@ -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
...
...
rest_framework/templatetags/rest_framework.py
View file @
d54c67d7
...
@@ -3,11 +3,11 @@ from django import template
...
@@ -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
...
...
rest_framework/utils/encoders.py
View file @
d54c67d7
...
@@ -4,8 +4,9 @@ Helper classes for parsers.
...
@@ -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
...
...
rest_framework/utils/representation.py
View file @
d54c67d7
...
@@ -3,8 +3,8 @@ Helper functions for creating user-friendly representations
...
@@ -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
...
...
rest_framework/views.py
View file @
d54c67d7
...
@@ -5,9 +5,10 @@ from __future__ import unicode_literals
...
@@ -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
...
...
tests/test_description.py
View file @
d54c67d7
...
@@ -2,8 +2,8 @@
...
@@ -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
...
...
tests/test_parsers.py
View file @
d54c67d7
...
@@ -5,8 +5,8 @@ from django import forms
...
@@ -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
...
...
tests/test_renderers.py
View file @
d54c67d7
...
@@ -7,9 +7,11 @@ from django.core.cache import cache
...
@@ -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
,
\
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment