From 1319bbfe4ab3ddd321bcbb902bba7392ad868324 Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Fri, 9 Nov 2012 16:34:45 +0100 Subject: Remove Resource type --- src/Hakyll/Core/Resource/Provider/Internal.hs | 84 --------------------------- 1 file changed, 84 deletions(-) delete mode 100644 src/Hakyll/Core/Resource/Provider/Internal.hs (limited to 'src/Hakyll/Core/Resource/Provider') diff --git a/src/Hakyll/Core/Resource/Provider/Internal.hs b/src/Hakyll/Core/Resource/Provider/Internal.hs deleted file mode 100644 index fb93fcc..0000000 --- a/src/Hakyll/Core/Resource/Provider/Internal.hs +++ /dev/null @@ -1,84 +0,0 @@ --------------------------------------------------------------------------------- -module Hakyll.Core.Resource.Provider.Internal - ( ResourceProvider (..) - , newResourceProvider - - , resourceList - , resourceExists - , resourceMetadataResource - - , resourceString - , resourceLBS - ) where - - --------------------------------------------------------------------------------- -import Control.Applicative ((<$>)) -import qualified Data.ByteString.Lazy as BL -import Data.IORef -import Data.Map (Map) -import qualified Data.Map as M -import Data.Set (Set) -import qualified Data.Set as S -import System.FilePath (addExtension) - - --------------------------------------------------------------------------------- -import Hakyll.Core.Resource -import Hakyll.Core.Store -import Hakyll.Core.Util.File - - --------------------------------------------------------------------------------- --- | Responsible for retrieving and listing resources -data ResourceProvider = ResourceProvider - { -- | A list of all files found - resourceSet :: Set Resource - , -- | Cache keeping track of modified files - resourceModifiedCache :: IORef (Map Resource Bool) - , -- | Underlying persistent store for caching - resourceStore :: Store - } - - --------------------------------------------------------------------------------- --- | Create a resource provider -newResourceProvider :: Store -- ^ Store to use - -> (FilePath -> Bool) -- ^ Should we ignore this file? - -> FilePath -- ^ Search directory - -> IO ResourceProvider -- ^ Resulting provider -newResourceProvider store ignore directory = do - list <- map resource . filter (not . ignore) <$> - getRecursiveContents False directory - cache <- newIORef M.empty - return $ ResourceProvider (S.fromList list) cache store - - --------------------------------------------------------------------------------- -resourceList :: ResourceProvider -> [Resource] -resourceList = S.toList . resourceSet - - --------------------------------------------------------------------------------- --- | Check if a given resiyrce exists -resourceExists :: ResourceProvider -> Resource -> Bool -resourceExists provider = (`S.member` resourceSet provider) - - --------------------------------------------------------------------------------- --- | Each resource may have an associated metadata resource (with a @.metadata@ --- filename) -resourceMetadataResource :: Resource -> Resource -resourceMetadataResource = resource . flip addExtension "metadata" . unResource - - --------------------------------------------------------------------------------- --- | Get the raw body of a resource as string -resourceString :: Resource -> IO String -resourceString = readFile . unResource - - --------------------------------------------------------------------------------- --- | Get the raw body of a resource of a lazy bytestring -resourceLBS :: Resource -> IO BL.ByteString -resourceLBS = BL.readFile . unResource -- cgit v1.2.3