aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Class/PandocMonad.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Class/PandocMonad.hs')
-rw-r--r--src/Text/Pandoc/Class/PandocMonad.hs17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/Text/Pandoc/Class/PandocMonad.hs b/src/Text/Pandoc/Class/PandocMonad.hs
index 4eb80df29..439aec071 100644
--- a/src/Text/Pandoc/Class/PandocMonad.hs
+++ b/src/Text/Pandoc/Class/PandocMonad.hs
@@ -638,17 +638,12 @@ fillMediaBag d = walkM handleImage d
handleImage (Image attr lab (src, tit)) = catchError
(do mediabag <- getMediaBag
let fp = T.unpack src
- src' <- T.pack <$> case lookupMedia fp mediabag of
- Just item -> return $ mediaPath item
- Nothing -> do
- (bs, mt) <- fetchItem src
- insertMedia fp mt (BL.fromStrict bs)
- mediabag' <- getMediaBag
- case lookupMedia fp mediabag' of
- Just item -> return $ mediaPath item
- Nothing -> throwError $ PandocSomeError $
- src <> " not successfully inserted into MediaBag"
- return $ Image attr lab (src', tit))
+ case lookupMedia fp mediabag of
+ Just _ -> return ()
+ Nothing -> do
+ (bs, mt) <- fetchItem src
+ insertMedia fp mt (BL.fromStrict bs)
+ return $ Image attr lab (src, tit))
(\e ->
case e of
PandocResourceNotFound _ -> do