From a2c9ca0ee7022981fa563ed867e85cdeae3b1590 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Mon, 13 Apr 2015 19:32:59 +0200 Subject: Renaming Ad.hs to Fetch.hs --- src/Fetch.hs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/Fetch.hs (limited to 'src/Fetch.hs') diff --git a/src/Fetch.hs b/src/Fetch.hs new file mode 100644 index 0000000..a4e8c94 --- /dev/null +++ b/src/Fetch.hs @@ -0,0 +1,30 @@ +module Fetch + ( fetchResumes + , fetchAds + ) where + +import Data.Text (Text) +import qualified Data.Text as T + +import Page (getPage) + +import Model.Ad +import Model.Resume +import Model.Detail +import Model.URL + +import Parser.Resume +import Parser.Detail + +fetchResumes :: URL -> IO (Either Text [Resume]) +fetchResumes url = fmap parseResumes <$> getPage url + +fetchAds :: [Resume] -> IO (Either Text [Ad]) +fetchAds resumes = do + xs <- sequence $ map fetchAd resumes + return $ sequence xs + +fetchAd :: Resume -> IO (Either Text Ad) +fetchAd resume = do + page <- getPage (url resume) + fmap (\page -> Ad { resume = resume, detail = parseDetail page}) <$> getPage (url resume) -- cgit v1.2.3