]> gitweb.michael.orlitzky.com - dead/lwn-epub.git/blobdiff - src/LWN/Page.hs
If we don't have the contents of a particular full story, drop its paragraph.
[dead/lwn-epub.git] / src / LWN / Page.hs
index 3dccf466fea98f49a8ee42dcf44a2cdebe66a42c..30c54b550a530777eb9ccfd818b16785c46cc0ef 100644 (file)
@@ -34,6 +34,7 @@ import Text.XML.HXT.Core (
   getChildren,
   getText,
   hasName,
+  none,
   processAttrl,
   processTopDown,
   this,
@@ -58,6 +59,7 @@ import LWN.XHTML (
   is_image,
   preprocess,
   remove_byline,
+  remove_full_story_paragraphs,
   remove_title,
   to_xhtml,
   to_xml,
@@ -127,8 +129,8 @@ insert_full_stories story_map =
     lookup_func :: (ArrowXml a) => URL -> a XmlTree XmlTree
     lookup_func href =
       case Map.lookup href story_map of
-        -- Leave it alone if we don't have the full story.
-        Nothing -> this
+        -- Drop the paragraph if we don't have the contents.
+        Nothing -> none
         Just v -> to_xml v
 
     article_xml :: (ArrowXml a) => a XmlTree XmlTree
@@ -196,7 +198,8 @@ parse cfg xml = do
              story_map <- download_full_stories cfg xml
              return $ xml >>> insert_full_stories story_map
            else do
-             return xml
+             -- Get rid of them if we don't want them.
+             return $ xml >>> remove_full_story_paragraphs
 
   let clean_xml = fs_xml >>> preprocess
   image_map <- download_images clean_xml