Author: russellm
Date: 2007-03-15 02:44:44 -0500 (Thu, 15 Mar 2007)
New Revision: 4733
Modified:
django/trunk/django/core/serializers/xml_serializer.py
Log:
Added implementation of --indent for the XML serializer.
Modified: django/trunk/django/core/serializers/xml_serializer.py
===================================================================
--- django/trunk/django/core/serializers/xml_serializer.py 2007-03-15
03:25:47 UTC (rev 4732)
+++ django/trunk/django/core/serializers/xml_serializer.py 2007-03-15
07:44:44 UTC (rev 4733)
@@ -13,6 +13,10 @@
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 @@
"""
End serialization -- end the document.
"""
+ self.indent(0)
self.xml.endElement("django-objects")
self.xml.endDocument()
@@ -35,6 +40,7 @@
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 @@
"""
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 @@
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 @@
"""
Helper to output the <field> element for relational fields
"""
+ self.indent(2)
self.xml.startElement("field", {
"name" : field.name,
"rel" : field.rel.__class__.__name__,
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---