blob: 1708fe482499c0c943843595e1e203a381ba35bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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
|