diff --git a/sharepoint/lists/types.py b/sharepoint/lists/types.py index 2f5ee14..e00c090 100644 --- a/sharepoint/lists/types.py +++ b/sharepoint/lists/types.py @@ -153,10 +153,10 @@ def as_xml(self, row, value, **kwargs): else: field_element.append(self._as_xml(row, value, **kwargs)) return field_element - + def _as_xml(self, row, value, **kwargs): return OUT('text', unicode(value)) - + def __repr__(self): return u"<%s '%s'>" % (type(self).__name__, self.name) @@ -363,7 +363,7 @@ def _parse(self, value): return {'id': int(value[0]), 'name': value[1]} def _unparse(self, value): return [unicode(value['id']), value.get('name', '')] - + def descriptor_set(self, row, value): if value is None: return None @@ -385,8 +385,10 @@ class UserMultiField(UserField): class CalculatedField(Field): group_multi = 2 immutable = True - - types = {'float': float} + + types = {'float': float, + 'string': str, + 'error': str} type_names = {float: 'float', str: 'text', int: 'int'} @@ -405,7 +407,7 @@ def _as_xml(self, row, value, **kwargs): class ModerationStatusField(Field): group_multi = 2 immutable = True - + def _parse(self, value): return moderation.moderation_statuses[int(value[0])] def _unparse(self, value):