--- a/web/lib/django/core/serializers/pyyaml.py Wed May 19 17:43:59 2010 +0200
+++ b/web/lib/django/core/serializers/pyyaml.py Tue May 25 02:43:45 2010 +0200
@@ -5,13 +5,9 @@
"""
from StringIO import StringIO
+import decimal
import yaml
-try:
- import decimal
-except ImportError:
- from django.utils import _decimal as decimal # Python 2.3 fallback
-
from django.db import models
from django.core.serializers.python import Serializer as PythonSerializer
from django.core.serializers.python import Deserializer as PythonDeserializer
@@ -26,9 +22,9 @@
"""
Convert a queryset to YAML.
"""
-
+
internal_use_only = False
-
+
def handle_field(self, obj, field):
# A nasty special case: base YAML doesn't support serialization of time
# types (as opposed to dates or datetimes, which it does support). Since
@@ -40,10 +36,11 @@
self._current[field.name] = str(getattr(obj, field.name))
else:
super(Serializer, self).handle_field(obj, field)
-
+
def end_serialization(self):
self.options.pop('stream', None)
self.options.pop('fields', None)
+ self.options.pop('use_natural_keys', None)
yaml.dump(self.objects, self.stream, Dumper=DjangoSafeDumper, **self.options)
def getvalue(self):
@@ -57,6 +54,6 @@
stream = StringIO(stream_or_string)
else:
stream = stream_or_string
- for obj in PythonDeserializer(yaml.load(stream)):
+ for obj in PythonDeserializer(yaml.load(stream), **options):
yield obj