diff options
author | Joris | 2016-11-14 21:47:10 +0100 |
---|---|---|
committer | Joris | 2016-11-14 21:47:10 +0100 |
commit | ae45764821dc3c04eeb8c2171f14d36256ce4027 (patch) | |
tree | 99d3d3f6bf78b03232d75ce9c10b0cffd979a28e /src | |
parent | d155bab73eb383753df4d267c7db584af44f3349 (diff) |
Warn log when no resume is parsed from search page
Diffstat (limited to 'src')
-rw-r--r-- | src/AdListener.hs | 27 | ||||
-rw-r--r-- | src/Fetch.hs | 10 |
2 files changed, 22 insertions, 15 deletions
diff --git a/src/AdListener.hs b/src/AdListener.hs index 9946d9e..3db4c6a 100644 --- a/src/AdListener.hs +++ b/src/AdListener.hs @@ -38,7 +38,7 @@ start conf = do showErrorAndListenBack conf [] error Right resumes -> do let newURLs = map url resumes - putStrLn "Listening to new ads…" + T.putStrLn "Listening to new ads…" waitListenInterval conf listenToNewAdsWithViewedURLs conf newURLs @@ -59,19 +59,18 @@ listenToNewAdsWithResumes conf viewedURLs resumes = case eitherNewAds of Left error -> showErrorAndListenBack conf viewedURLs error - Right newAds -> - do - time <- getCurrentFormattedTime - if not (null newAds) - then - let message = P.renderConsoleAds conf time newAds - in do - T.putStrLn message - trySendMail conf newAds - else - return () - waitListenInterval conf - listenToNewAdsWithViewedURLs conf (viewedURLs ++ newURLs) + Right newAds -> do + time <- getCurrentFormattedTime + if not (null newAds) + then + let message = P.renderConsoleAds conf time newAds + in do + T.putStrLn message + trySendMail conf newAds + else + return () + waitListenInterval conf + listenToNewAdsWithViewedURLs conf (viewedURLs ++ newURLs) trySendMail :: Conf -> [Ad] -> IO () trySendMail conf ads = diff --git a/src/Fetch.hs b/src/Fetch.hs index c80a980..ea82caa 100644 --- a/src/Fetch.hs +++ b/src/Fetch.hs @@ -1,9 +1,12 @@ +{-# LANGUAGE OverloadedStrings #-} + module Fetch ( fetchResumes , fetchAds ) where import Data.Text (Text) +import qualified Data.Text.IO as T import Page @@ -16,7 +19,12 @@ import qualified Parser.Resume as Resume import qualified Parser.Detail as Detail fetchResumes :: URL -> IO (Either Text [Resume]) -fetchResumes url = fmap Resume.parse <$> Page.get url +fetchResumes url = do + resumes <- fmap Resume.parse <$> Page.get url + if null resumes + then T.putStrLn "Parsed 0 results!" + else return () + return resumes fetchAds :: [Resume] -> IO (Either Text [Ad]) fetchAds resumes = do |