module FetchAd ( leboncoin , ouestFrance , seLoger ) where import Data.Either (rights) import Network.HTTP.Conduit (Manager) import Model.Ad (Ad) import Model.URL (URL) import qualified Parser.LeboncoinParser as LeboncoinParser import qualified Parser.OuestFranceParser as OuestFranceParser import qualified Parser.SeLogerParser as SeLogerParser import qualified Utils.HTTP as HTTP leboncoin :: Manager -> [URL] -> IO [Ad] leboncoin manager urls = fmap (concat . map LeboncoinParser.parse . rights) . sequence . map (HTTP.get manager) $ urls ouestFrance :: Manager -> [URL] -> IO [Ad] ouestFrance manager urls = fmap (concat . map OuestFranceParser.parse . rights) . sequence . map (HTTP.get manager) $ urls seLoger :: Manager -> [URL] -> IO [Ad] seLoger manager urls = fmap (concat . map SeLogerParser.parse . rights) . sequence . map (HTTP.get manager) $ urls