|
|
@ -36,7 +36,7 @@ processes dicts first, so insert the new tag at the front of the order since |
|
|
|
def to_python(self, value): |
|
|
|
def to_python(self, value): |
|
|
|
return OrderedDict(value) |
|
|
|
return OrderedDict(value) |
|
|
|
|
|
|
|
|
|
|
|
app.session_interface.serializer.register(TagOrderedDict, 0) |
|
|
|
app.session_interface.serializer.register(TagOrderedDict, index=0) |
|
|
|
|
|
|
|
|
|
|
|
:copyright: © 2010 by the Pallets team. |
|
|
|
:copyright: © 2010 by the Pallets team. |
|
|
|
:license: BSD, see LICENSE for more details. |
|
|
|
:license: BSD, see LICENSE for more details. |
|
|
@ -243,7 +243,7 @@ class TaggedJSONSerializer(object): |
|
|
|
for cls in self.default_tags: |
|
|
|
for cls in self.default_tags: |
|
|
|
self.register(cls) |
|
|
|
self.register(cls) |
|
|
|
|
|
|
|
|
|
|
|
def register(self, tag_class, force=False, index=-1): |
|
|
|
def register(self, tag_class, force=False, index=None): |
|
|
|
"""Register a new tag with this serializer. |
|
|
|
"""Register a new tag with this serializer. |
|
|
|
|
|
|
|
|
|
|
|
:param tag_class: tag class to register. Will be instantiated with this |
|
|
|
:param tag_class: tag class to register. Will be instantiated with this |
|
|
@ -251,8 +251,8 @@ class TaggedJSONSerializer(object): |
|
|
|
:param force: overwrite an existing tag. If false (default), a |
|
|
|
:param force: overwrite an existing tag. If false (default), a |
|
|
|
:exc:`KeyError` is raised. |
|
|
|
:exc:`KeyError` is raised. |
|
|
|
:param index: index to insert the new tag in the tag order. Useful when |
|
|
|
:param index: index to insert the new tag in the tag order. Useful when |
|
|
|
the new tag is a special case of an existing tag. If -1 (default), |
|
|
|
the new tag is a special case of an existing tag. If ``None`` |
|
|
|
the tag is appended to the end of the order. |
|
|
|
(default), the tag is appended to the end of the order. |
|
|
|
|
|
|
|
|
|
|
|
:raise KeyError: if the tag key is already registered and ``force`` is |
|
|
|
:raise KeyError: if the tag key is already registered and ``force`` is |
|
|
|
not true. |
|
|
|
not true. |
|
|
@ -266,7 +266,7 @@ class TaggedJSONSerializer(object): |
|
|
|
|
|
|
|
|
|
|
|
self.tags[key] = tag |
|
|
|
self.tags[key] = tag |
|
|
|
|
|
|
|
|
|
|
|
if index == -1: |
|
|
|
if index is None: |
|
|
|
self.order.append(tag) |
|
|
|
self.order.append(tag) |
|
|
|
else: |
|
|
|
else: |
|
|
|
self.order.insert(index, tag) |
|
|
|
self.order.insert(index, tag) |
|
|
|