module Data.HTTPSEverywhere.Rules.Raw ( getRule, getRules ) where import Prelude hiding (readFile) import Data.Functor.Infix ((<$$>)) import Data.Text.Lazy (Text) import Data.Text.Lazy.IO (readFile) import System.Directory (getDirectoryContents) import System.FilePath.Posix (combine, takeExtension) import Paths_https_everywhere_rules_raw (getDataFileName) getRule :: FilePath -> IO Text getRule = readFile getRules :: IO [FilePath] getRules = getDataFileName [] >>= filter isXML <$$> getAbsoluteDirectoryContents where isXML = (== ".xml") . takeExtension getAbsoluteDirectoryContents :: FilePath -> IO [FilePath] getAbsoluteDirectoryContents x = combine x <$$> getDirectoryContents x