module Ad ( getResumes , getAds ) 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 getResumes :: URL -> IO (Either Text [Resume]) getResumes url = fmap parseResumes <$> getPage url getAds :: [Resume] -> IO (Either Text [Ad]) getAds resumes = do xs <- sequence $ map getAd resumes return $ sequence xs getAd :: Resume -> IO (Either Text Ad) getAd resume = do page <- getPage (url resume) fmap (\page -> Ad { resume = resume, detail = parseDetail page}) <$> getPage (url resume)