sobjects/hooks.py
branchtls-sprint
changeset 1101 0c067de38e46
parent 1098 739d4dce9b19
child 1138 22f634977c95
--- a/sobjects/hooks.py	Thu Mar 12 18:41:26 2009 +0100
+++ b/sobjects/hooks.py	Thu Mar 12 19:39:34 2009 +0100
@@ -45,16 +45,18 @@
     accepts = ('Any',)
 
     def call(self, session, entity):
-        for formatattr, attr in entity.e_schema.format_fields.iteritems():
-            try:
-                value = entity[attr]
-            except KeyError:
-                continue # no text to tidy
-            if isinstance(value, unicode): # filter out None and Binary
-                if self.event == 'before_add_entity':
-                    fmt = entity.get(formatattr)
-                else:
-                    fmt = entity.get_value(formatattr)
-                if fmt == 'text/html':
-                    entity[attr] = soup2xhtml(value, session.encoding)
+        metaattrs = entity.e_schema.meta_attributes()
+        for metaattr, (metadata, attr) in metaattrs.iteritems():
+            if metadata == 'format':
+                try:
+                    value = entity[attr]
+                except KeyError:
+                    continue # no text to tidy
+                if isinstance(value, unicode): # filter out None and Binary
+                    if self.event == 'before_add_entity':
+                        fmt = entity.get(metaattr)
+                    else:
+                        fmt = entity.get_value(metaattr)
+                    if fmt == 'text/html':
+                        entity[attr] = soup2xhtml(value, session.encoding)