Commit cd47885d authored by Mael NICOLAS's avatar Mael NICOLAS

fix #1

parent ace45a17
......@@ -31,10 +31,11 @@ runSimpleFindPubmedAbstractRequest rq = do
(mkClientEnv manager' $ BaseUrl Https "eutils.ncbi.nlm.nih.gov" 443 "entrez/eutils")
case res' of
(Left err) -> return []
(Right (BsXml abstracts)) ->
(Right (BsXml abstracts)) -> do
_ <- print abstracts
pubMedParser abstracts
main :: IO ()
main = do
pubmeds <- runSimpleFindPubmedAbstractRequest "organ"
pubmeds <- runSimpleFindPubmedAbstractRequest "risk"
print pubmeds
......@@ -38,7 +38,8 @@ parseDocId cursor = fst <$>
identity :: a -> a
identity x = x
manyTagsUntil :: MonadThrow m => Name
manyTagsUntil :: MonadThrow m =>
Name
-> ConduitT Event o m b
-> ConduitT Event o m (Maybe b)
manyTagsUntil name f = do
......@@ -97,11 +98,11 @@ pubMedParser bstring = runConduit $ parseLBS def bstring
parseArticleSet :: MonadThrow m => ConduitT Event PubMed m ()
parseArticleSet =
force "force" $ tagIgnoreAttrs "PubmedArticleSet" $ manyYield parsePubMedArticle
force "PubmedArticleSet required" $ manyTagsUntil "PubmedArticleSet" $ manyYield parsePubMedArticle
parsePubMedArticle :: MonadThrow m => ConduitT Event o m (Maybe PubMed)
parsePubMedArticle =
tagIgnoreAttrs "PubmedArticle" parsePubMedArticle'
manyTagsUntil "PubmedArticle" parsePubMedArticle'
parsePubMedArticle' :: MonadThrow m => ConduitT Event o m PubMed
parsePubMedArticle' = do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment