article_xml :: (ArrowXml a) => a XmlTree XmlTree
article_xml =
lookup_func
- $<
+ $< -- From HXT's Control.Arrow.ArrowList
(this /> full_story_link >>> getAttrValue "href")
replace_remote_img_srcs :: (ArrowXml a) => ImageMap -> a XmlTree XmlTree
parse :: Cfg -> IOSArrow XmlTree XmlTree -> IO (Maybe Page)
parse cfg xml = do
- story_map <- download_full_stories cfg xml
- let fs_xml = if (full_stories cfg) then
- xml >>> insert_full_stories story_map
- else
- xml
+ fs_xml <- if (full_stories cfg) then do
+ story_map <- download_full_stories cfg xml
+ return $ xml >>> insert_full_stories story_map
+ else do
+ return xml
let clean_xml = fs_xml >>> preprocess
image_map <- download_images clean_xml