packages feed

adblock2privoxy-1.0.0: src/Templates.hs

module Templates where
import  {-# SOURCE #-}  UrlBlocker
import Paths_adblock2privoxy
import System.Directory (copyFile)
import System.FilePath ((</>))

blockCss, ab2pPrefix, actionsFilePrefix, filtersFilePrefix :: String
blockCss = "{display:none!important;visibility:hidden!important}"
ab2pPrefix = "ab2p-"
actionsFilePrefix = "#AbBlock generated actions -- don't edit --"
filtersFilePrefix = "#AbBlock generated filters -- don't edit --"

terminalActionSwitch :: Bool -> BlockMethod -> String
terminalActionSwitch True Request = 
 "+block{ adblock rules } \\\n\
 \+server-header-tagger{ab2p-block-s}"
terminalActionSwitch False Request = 
 "-block \\\n\
 \-server-header-tagger{ab2p-block-s} \\\n\
 \+server-header-tagger{ab2p-unblock-d} \\\n\
 \+server-header-tagger{ab2p-unblock-s} \\\n\
 \+client-header-tagger{ab2b-unblock-u}"
terminalActionSwitch True Xframe = "+server-header-filter{ab2p-xframe-filter}" 
terminalActionSwitch False Xframe = "-server-header-filter{ab2p-xframe-filter}" 
terminalActionSwitch False Elem = "-filter{ab2p-elemhide-filter}" 
terminalActionSwitch True Xpopup = "+filter{ab2p-popup-filter}" 
terminalActionSwitch False Xpopup = "-filter{ab2p-popup-filter}" 
terminalActionSwitch True Dnt = "+add-header{DNT: 1}"
terminalActionSwitch _ _ = "" 

writeTemplateFiles :: String -> IO ()
writeTemplateFiles outDir = do
        copySystem "ab2p.system.action"
        copySystem "ab2p.system.filter"
        where 
        copySystem file = do
                dataDir <- getDataDir
                copyFile (dataDir  </> "templates" </> file) (outDir </> file)