diff options
| author | José Padilla | 2014-11-29 14:50:51 -0400 |
|---|---|---|
| committer | José Padilla | 2014-11-29 14:57:51 -0400 |
| commit | 7f9dc736728baf92a3198a7f90bd302fff240373 (patch) | |
| tree | 45b8e34c802f57d28ded3c355f16ae4ebc0ffba0 /rest_framework/renderers.py | |
| parent | 3a5b3772fefc3c2f2c0899947cbc07bfe6e6b5d2 (diff) | |
| download | django-rest-framework-7f9dc736728baf92a3198a7f90bd302fff240373.tar.bz2 | |
Remove XML support from core
Diffstat (limited to 'rest_framework/renderers.py')
| -rw-r--r-- | rest_framework/renderers.py | 54 |
1 files changed, 1 insertions, 53 deletions
diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index e87d16d0..dd49ae82 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -16,11 +16,8 @@ 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.xmlutils import SimplerXMLGenerator 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 @@ -140,55 +137,6 @@ class JSONPRenderer(JSONRenderer): return callback.encode(self.charset) + b'(' + json + b');' -class XMLRenderer(BaseRenderer): - """ - Renderer which serializes to XML. - """ - - media_type = 'application/xml' - format = 'xml' - charset = 'utf-8' - - def render(self, data, accepted_media_type=None, renderer_context=None): - """ - Renders `data` into serialized XML. - """ - if data is None: - return '' - - stream = StringIO() - - xml = SimplerXMLGenerator(stream, self.charset) - xml.startDocument() - xml.startElement("root", {}) - - self._to_xml(xml, data) - - xml.endElement("root") - xml.endDocument() - return stream.getvalue() - - def _to_xml(self, xml, data): - if isinstance(data, (list, tuple)): - for item in data: - xml.startElement("list-item", {}) - self._to_xml(xml, item) - xml.endElement("list-item") - - elif isinstance(data, dict): - for key, value in six.iteritems(data): - xml.startElement(key, {}) - self._to_xml(xml, value) - xml.endElement(key) - - elif data is None: - # Don't output any value - pass - - else: - xml.characters(smart_text(data)) - - class YAMLRenderer(BaseRenderer): """ Renderer which serializes to YAML. |
