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
import
inspect
from
django.core.exceptions
import
ImproperlyConfigured
from
django.utils.encoding
import
force_text
from
django.conf
import
settings
from
django.utils
import
six
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.
# This will always be the case in Django 1.7 and above, as these versions
# no longer support Python 2.6.
# For Django <= 1.6 and Python 2.6 fall back to OrderedDict.
try
:
from
collections
import
OrderedDict
except
:
except
ImportError
:
from
django.utils.datastructures
import
SortedDict
as
OrderedDict
...
...
@@ -72,21 +60,13 @@ if 'guardian' in settings.INSTALLED_APPS:
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)
try
:
from
urllib
import
parse
as
urlparse
except
ImportError
:
import
urlparse
# UserDict moves in Python 3
try
:
from
UserDict
import
UserDict
...
...
@@ -104,14 +84,6 @@ def get_model_name(model_cls):
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
if
django
.
VERSION
>=
(
1
,
5
):
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.
(`django.http.Http404` and `django.core.exceptions.PermissionDenied`)
"""
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
ungettext_lazy
from
rest_framework
import
status
from
rest_framework.compat
import
force_text
import
math
...
...
rest_framework/fields.py
View file @
d54c67d7
...
...
@@ -5,11 +5,11 @@ from django.core.validators import RegexValidator
from
django.forms
import
ImageField
as
DjangoImageField
from
django.utils
import
six
,
timezone
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
rest_framework
import
ISO_8601
from
rest_framework.compat
import
(
smart_text
,
EmailValidator
,
MinValueValidator
,
MaxValueValidator
,
EmailValidator
,
MinValueValidator
,
MaxValueValidator
,
MinLengthValidator
,
MaxLengthValidator
,
URLValidator
,
OrderedDict
)
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
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.
"""
from
__future__
import
unicode_literals
from
django.core.exceptions
import
PermissionDenied
from
django.http
import
Http404
from
django.utils.encoding
import
force_text
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.utils.field_mapping
import
ClassLookupDict
...
...
rest_framework/parsers.py
View file @
d54c67d7
...
...
@@ -12,7 +12,8 @@ from django.http import QueryDict
from
django.http.multipartparser
import
MultiPartParser
as
DjangoMultiPartParser
from
django.http.multipartparser
import
MultiPartParserError
,
parse_header
,
ChunkIter
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
import
renderers
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.reverse
import
reverse
from
rest_framework.utils
import
html
...
...
rest_framework/renderers.py
View file @
d54c67d7
...
...
@@ -16,11 +16,11 @@ from django.http.multipartparser import parse_header
from
django.template
import
Context
,
RequestContext
,
loader
,
Template
from
django.test.client
import
encode_multipart
from
django.utils
import
six
from
django.utils.encoding
import
smart_text
from
django.utils.xmlutils
import
SimplerXMLGenerator
from
django.utils.six.moves
import
StringIO
from
rest_framework
import
exceptions
,
serializers
,
status
,
VERSION
from
rest_framework.compat
import
(
SHORT_SEPARATORS
,
LONG_SEPARATORS
,
StringIO
,
smart_text
,
yaml
)
from
rest_framework.compat
import
SHORT_SEPARATORS
,
LONG_SEPARATORS
,
yaml
from
rest_framework.exceptions
import
ParseError
from
rest_framework.settings
import
api_settings
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
from
django.http.multipartparser
import
parse_header
from
django.utils.datastructures
import
MultiValueDict
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
exceptions
from
rest_framework.compat
import
BytesIO
from
rest_framework.settings
import
api_settings
import
warnings
...
...
rest_framework/templatetags/rest_framework.py
View file @
d54c67d7
...
...
@@ -3,11 +3,11 @@ from django import template
from
django.core.urlresolvers
import
reverse
,
NoReverseMatch
from
django.http
import
QueryDict
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.safestring
import
SafeData
,
mark_safe
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
import
re
...
...
rest_framework/utils/encoders.py
View file @
d54c67d7
...
...
@@ -4,8 +4,9 @@ Helper classes for parsers.
from
__future__
import
unicode_literals
from
django.db.models.query
import
QuerySet
from
django.utils
import
six
,
timezone
from
django.utils.encoding
import
force_text
from
django.utils.functional
import
Promise
from
rest_framework.compat
import
force_text
,
OrderedDict
from
rest_framework.compat
import
OrderedDict
import
datetime
import
decimal
import
types
...
...
rest_framework/utils/representation.py
View file @
d54c67d7
...
...
@@ -3,8 +3,8 @@ Helper functions for creating user-friendly representations
of serializer classes and serializer fields.
"""
from
django.db
import
models
from
django.utils.encoding
import
force_text
from
django.utils.functional
import
Promise
from
rest_framework.compat
import
force_text
import
re
...
...
rest_framework/views.py
View file @
d54c67d7
...
...
@@ -5,9 +5,10 @@ from __future__ import unicode_literals
from
django.core.exceptions
import
PermissionDenied
from
django.http
import
Http404
from
django.utils.encoding
import
smart_text
from
django.views.decorators.csrf
import
csrf_exempt
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.response
import
Response
from
rest_framework.settings
import
api_settings
...
...
tests/test_description.py
View file @
d54c67d7
...
...
@@ -2,8 +2,8 @@
from
__future__
import
unicode_literals
from
django.test
import
TestCase
from
django.utils.encoding
import
python_2_unicode_compatible
from
rest_framework.compat
import
apply_markdown
,
smart_text
from
django.utils.encoding
import
python_2_unicode_compatible
,
smart_text
from
rest_framework.compat
import
apply_markdown
from
rest_framework.views
import
APIView
from
.description
import
ViewWithNonASCIICharactersInDocstring
from
.description
import
UTF8_TEST_DOCSTRING
...
...
tests/test_parsers.py
View file @
d54c67d7
...
...
@@ -5,8 +5,8 @@ from django import forms
from
django.core.files.uploadhandler
import
MemoryFileUploadHandler
from
django.test
import
TestCase
from
django.utils
import
unittest
from
django.utils.six.moves
import
StringIO
from
rest_framework.compat
import
etree
from
rest_framework.compat
import
StringIO
from
rest_framework.exceptions
import
ParseError
from
rest_framework.parsers
import
FormParser
,
FileUploadParser
from
rest_framework.parsers
import
XMLParser
...
...
tests/test_renderers.py
View file @
d54c67d7
...
...
@@ -7,9 +7,11 @@ from django.core.cache import cache
from
django.db
import
models
from
django.test
import
TestCase
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
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.views
import
APIView
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