diff options
author | Joris Guyonvarch | 2015-04-11 19:20:04 +0200 |
---|---|---|
committer | Joris Guyonvarch | 2015-04-11 19:20:04 +0200 |
commit | 4ddd6d1f6df2bab75d42b6d45b816e92e7173529 (patch) | |
tree | 09ddfd62fe32e210a87eb15eb86ee07ab9f24623 /src/Parser/Resume.hs | |
parent | 88b7f848da3515d67cfb989b98ad5285a037993e (diff) | |
download | ad-listener-4ddd6d1f6df2bab75d42b6d45b816e92e7173529.tar.gz ad-listener-4ddd6d1f6df2bab75d42b6d45b816e92e7173529.tar.bz2 ad-listener-4ddd6d1f6df2bab75d42b6d45b816e92e7173529.zip |
Fixing parsing errors, and use Text from now
Diffstat (limited to 'src/Parser/Resume.hs')
-rw-r--r-- | src/Parser/Resume.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Parser/Resume.hs b/src/Parser/Resume.hs index bd73912..6cd4415 100644 --- a/src/Parser/Resume.hs +++ b/src/Parser/Resume.hs @@ -3,6 +3,7 @@ module Parser.Resume ) where import Data.Maybe (catMaybes) +import qualified Data.Text as T import Text.HTML.TagSoup @@ -10,7 +11,7 @@ import Model.Resume import Parser.Utils -parseResumes :: String -> [Resume] +parseResumes :: T.Text -> [Resume] parseResumes page = case sections (~== "<div class=list-lbc>") (parseTags page) of [] -> @@ -19,9 +20,9 @@ parseResumes page = let lbcTags = takeWhile (~/= "<div id=alertesCartouche>") sectionTags in catMaybes . fmap parseResume $ partitions (~== "<a>") lbcTags -parseResume :: [Tag String] -> Maybe Resume +parseResume :: [Tag T.Text] -> Maybe Resume parseResume item = do - name <- getTagText "<h2 class=title>" item - let price = getTagText "<div class=price>" item - url <- getTagAttribute "<a>" "href" item - return Resume { name = name, price = price, url = url } + name <- getTagTextAfter "<h2 class=title>" item + let price = getTagTextAfter "<div class=price>" item + url <- getTagAttribute "<a>" (T.pack "href") item + return Resume { name = name, price = price, url = T.unpack url } |