diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2007-03-15 07:44:44 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2007-03-15 07:44:44 +0000 |
| commit | 2a8da0a502a12d110c23bce0ac23bc96c847ee55 (patch) | |
| tree | 923f998a729ceb6c75817a909e2c590ea31a8f2a | |
| parent | f9c4ce51235aac4862cfe2dfaaf6836acaea1c3d (diff) | |
Added implementation of --indent for the XML serializer.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4733 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/core/serializers/xml_serializer.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py index 9e37f03cc2..3a0fdb5395 100644 --- a/django/core/serializers/xml_serializer.py +++ b/django/core/serializers/xml_serializer.py @@ -13,6 +13,10 @@ class Serializer(base.Serializer): Serializes a QuerySet to XML. """ + def indent(self, level): + if self.options.get('indent', None) is not None: + self.xml.ignorableWhitespace('\n' + ' ' * self.options.get('indent', None) * level) + def start_serialization(self): """ Start serialization -- open the XML document and the root element. @@ -25,6 +29,7 @@ class Serializer(base.Serializer): """ End serialization -- end the document. """ + self.indent(0) self.xml.endElement("django-objects") self.xml.endDocument() @@ -35,6 +40,7 @@ class Serializer(base.Serializer): if not hasattr(obj, "_meta"): raise base.SerializationError("Non-model object (%s) encountered during serialization" % type(obj)) + self.indent(1) self.xml.startElement("object", { "pk" : str(obj._get_pk_val()), "model" : str(obj._meta), @@ -44,6 +50,7 @@ class Serializer(base.Serializer): """ Called after handling all fields for an object. """ + self.indent(1) self.xml.endElement("object") def handle_field(self, obj, field): @@ -51,6 +58,7 @@ class Serializer(base.Serializer): Called to handle each field on an object (except for ForeignKeys and ManyToManyFields) """ + self.indent(2) self.xml.startElement("field", { "name" : field.name, "type" : field.get_internal_type() @@ -94,6 +102,7 @@ class Serializer(base.Serializer): """ Helper to output the <field> element for relational fields """ + self.indent(2) self.xml.startElement("field", { "name" : field.name, "rel" : field.rel.__class__.__name__, |
