module Ad ( getResumes , getAds ) where import Page (getPage) import qualified Data.Text as T import Model.Ad import Model.Resume import Model.Detail import Model.URL import Parser.Resume import Parser.Detail getResumes :: URL -> IO (Either T.Text [Resume]) getResumes url = fmap parseResumes <$> getPage url getAds :: [Resume] -> IO (Either T.Text [Ad]) getAds resumes = do xs <- sequence $ map getAd resumes return $ sequence xs getAd :: Resume -> IO (Either T.Text Ad) getAd resume = do page <- getPage (url resume) fmap (\page -> Ad { resume = resume, detail = parseDetail page}) <$> getPage (url resume)