summaryrefslogtreecommitdiff
path: root/src/Data/Paper.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/Paper.hs')
-rw-r--r--src/Data/Paper.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Data/Paper.hs b/src/Data/Paper.hs
index b86b2f0..38994de 100644
--- a/src/Data/Paper.hs
+++ b/src/Data/Paper.hs
@@ -135,7 +135,7 @@ mkPaper bib = do
-- doi <- find' "doi" >>= fmap DOI . puri
-- date <- getDate
-- pure $ Published {..}
- extraLink <- traverse puri $ M.lookup "extralink" fields
+ extraLink <- traverse pauri $ M.lookup "extralink" fields
eprints <- case toLower <<$>> M.lookup "eprinttype" fields of
Just "arxiv" -> do
_identifier <- find' "eprint" >>= puri
@@ -155,5 +155,8 @@ mkPaper bib = do
puri :: MonadFail m => String -> m URI
puri u = maybe (fail $ show u <> " cannot be understood as a uri") pure $ parseRelativeReference u
+pauri :: MonadFail m => String -> m URI
+pauri u = maybe (fail $ show u <> " cannot be understood as a uri") pure $ parseURIReference u
+
findit :: (Show a, Ord a, MonadFail m) => a -> M.Map a x -> m x
findit k = maybe (fail $ "Field " <> show k <> " does not exist") pure . M.lookup k