From 9f389a05cc883213327b8d17db6d23c3ff8fb4e1 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Sat, 11 Apr 2015 14:06:14 +0200 Subject: Set up a listener that diff new ads and show only the new ones --- src/Ad.hs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/Ad.hs') diff --git a/src/Ad.hs b/src/Ad.hs index 0fa131c..6cd1d8a 100644 --- a/src/Ad.hs +++ b/src/Ad.hs @@ -1,19 +1,22 @@ module Ad ( getAds + , getResumes ) where -import Text.HTML.TagSoup (parseTags) - import Page (getPage) import Model.Ad import Model.Resume import Model.Detail +import Model.URL import Parser.Resume import Parser.Detail -getAds :: String -> IO (Either String [Ad]) +getResumes :: URL -> IO (Either String [Resume]) +getResumes url = fmap parseResumes <$> getPage url + +getAds :: URL -> IO (Either String [Ad]) getAds url = do eitherPage <- getPage url case eitherPage of @@ -30,4 +33,4 @@ getAdsFromPage page = do getAd :: Resume -> IO (Either String Ad) getAd resume = do page <- getPage (url resume) - fmap (\page -> Ad { resume = resume, detail = parseDetail (parseTags page)}) <$> getPage (url resume) + fmap (\page -> Ad { resume = resume, detail = parseDetail page}) <$> getPage (url resume) -- cgit v1.2.3