* Begin fixes to list handling code - there's 2 unittests that are failing due
authorBrett Parker <iDunno@sommitrealweird.co.uk>
Sun, 13 Jan 2008 21:02:24 +0000 (21:02 +0000)
committerBrett Parker <iDunno@sommitrealweird.co.uk>
Sun, 13 Jan 2008 21:02:24 +0000 (21:02 +0000)
  to this. (Previous revision had 7 unittests fail - bother)

rss2maildir.py

index 113d931a1db7bf162f603ce1cc646137a1f97b9c..353787c178dc4610e71495edea31281ece9f0425 100755 (executable)
@@ -70,6 +70,9 @@ class HTML2Text(HTMLParser):
         u'ul',
         u'ol',
         u'dl',
+        u'li',
+        u'dt',
+        u'dd',
         u'div',
         #u'blockquote',
         ]
@@ -219,10 +222,14 @@ class HTML2Text(HTMLParser):
             if self.ignorenodata:
                 newlinerequired = False
             self.ignorenodata = False
-            if newlinerequired \
-                and len(self.text) > 2 \
-                and self.text[-1] != u'\n' \
-                and self.text[-2] != u'\n':
+            if newlinerequired:
+                if tag_thats_done in [u'dt', u'dd', u'li'] \
+                    and len(self.text) > 1 \
+                    and self.text[-1] != u'\n':
+                        self.text = self.text + u'\n'
+                elif len(self.text) > 2 \
+                    and self.text[-1] != u'\n' \
+                    and self.text[-2] != u'\n':
                     self.text = self.text + u'\n\n'
 
         if tag_thats_done in ["h1", "h2", "h3", "h4", "h5", "h6"]: