on master help sign in
Fix apparent remaining provider rewrite issues
8c575aeJasper Van der Jeugt
src/Hakyll/Core/Provider.hs+4−7
@@ -23,7 +23,6 @@ module Hakyll.Core.Provider
23
23
24
24
25--------------------------------------------------------------------------------
25--------------------------------------------------------------------------------
26−import Control.Monad (forM_)
27import qualified Hakyll.Core.Provider.Internal as Internal
26import qualified Hakyll.Core.Provider.Internal as Internal
28import qualified Hakyll.Core.Provider.MetadataCache as Internal
27import qualified Hakyll.Core.Provider.MetadataCache as Internal
29import Hakyll.Core.Store (Store)
28import Hakyll.Core.Store (Store)
@@ -37,9 +36,7 @@ newProvider :: Store -- ^ Store to use
37 -> IO Internal.Provider -- ^ Resulting provider
36 -> IO Internal.Provider -- ^ Resulting provider
38newProvider store ignore directory = do
37newProvider store ignore directory = do
39 -- Delete metadata cache where necessary
38 -- Delete metadata cache where necessary
40− provider <- Internal.newProvider store ignore directory
39+ p <- Internal.newProvider store ignore directory
41− forM_ (Internal.resourceList provider) $ \identifier ->
40+ mapM_ (Internal.resourceInvalidateMetadataCache p) $
42− if Internal.resourceModified provider identifier
41+ filter (Internal.resourceModified p) $ Internal.resourceList p
43− then Internal.resourceInvalidateMetadataCache provider identifier
44− else return ()
45− return provider
42+ return p
src/Hakyll/Core/Provider/Internal.hs+4−3
@@ -172,12 +172,13 @@ resourceLBS p i = BL.readFile $ resourceFilePath p i
172-- | A resource is modified if it or its metadata has changed
172-- | A resource is modified if it or its metadata has changed
173resourceModified :: Provider -> Identifier -> Bool
173resourceModified :: Provider -> Identifier -> Bool
174resourceModified p r = case (ri, oldRi) of
174resourceModified p r = case (ri, oldRi) of
175− (Nothing, _) -> True
175+ (Nothing, _) -> False
176 (Just _, Nothing) -> True
176 (Just _, Nothing) -> True
177 (Just n, Just o) -> resourceInfoModified n > resourceInfoModified o
177 (Just n, Just o) -> resourceInfoModified n > resourceInfoModified o
178 where
178 where
179− ri = M.lookup (setVersion Nothing r) (providerFiles p)
179+ normal = setVersion Nothing r
180− oldRi = ri >>= resourceInfoMetadata >>= flip M.lookup (providerFiles p)
180+ ri = M.lookup normal (providerFiles p)
181+ oldRi = M.lookup normal (providerOldFiles p)
181
182
182
183
183--------------------------------------------------------------------------------
184--------------------------------------------------------------------------------