summaryrefslogtreecommitdiff
path: root/lib/Hakyll/Core/Provider
diff options
context:
space:
mode:
authorJasper Van der Jeugt <m@jaspervdj.be>2019-08-30 11:46:13 +0200
committerGitHub <noreply@github.com>2019-08-30 11:46:13 +0200
commit036c583ea243869f05a5a311c90b94943a2b635c (patch)
treeaadee7988980544f84b83d808707080481568cc5 /lib/Hakyll/Core/Provider
parent779fa66c7b1719e071dc3f4d38a4cc2feb9492c6 (diff)
downloadhakyll-036c583ea243869f05a5a311c90b94943a2b635c.tar.gz
Improve error messages
Diffstat (limited to 'lib/Hakyll/Core/Provider')
-rw-r--r--lib/Hakyll/Core/Provider/Metadata.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Hakyll/Core/Provider/Metadata.hs b/lib/Hakyll/Core/Provider/Metadata.hs
index 6285ce1..c74627b 100644
--- a/lib/Hakyll/Core/Provider/Metadata.hs
+++ b/lib/Hakyll/Core/Provider/Metadata.hs
@@ -27,6 +27,7 @@ import Hakyll.Core.Identifier
import Hakyll.Core.Metadata
import Hakyll.Core.Provider.Internal
import System.IO as IO
+import System.IO.Error (modifyIOError, ioeSetLocation)
--------------------------------------------------------------------------------
@@ -51,7 +52,7 @@ loadMetadata p identifier = do
--------------------------------------------------------------------------------
loadMetadataHeader :: FilePath -> IO (Metadata, String)
loadMetadataHeader fp = do
- fileContent <- readFile fp
+ fileContent <- modifyIOError (`ioeSetLocation` "loadMetadataHeader") $ readFile fp
case parsePage fileContent of
Right x -> return x
Left err -> throwIO $ MetadataException fp err
@@ -60,7 +61,7 @@ loadMetadataHeader fp = do
--------------------------------------------------------------------------------
loadMetadataFile :: FilePath -> IO Metadata
loadMetadataFile fp = do
- fileContent <- B.readFile fp
+ fileContent <- modifyIOError (`ioeSetLocation` "loadMetadataFile") $ B.readFile fp
let errOrMeta = Yaml.decodeEither' fileContent
either (fail . show) return errOrMeta