import qualified Data.ByteString.Lazy.Char8 as L8 import Data.Char import Data.Maybe import Data.List import System.Environment import System.FilePath import System.IO import System.Directory selectDestDir :: L8.ByteString -> FilePath selectDestDir = fromMaybe "no-destdir-header" . fmap (L8.unpack . L8.drop (L8.length xdestdir)) . find (xdestdir `L8.isPrefixOf`) . map (L8.map toLower) . L8.lines where xdestdir = L8.pack "x-destdir: " main :: IO () main = do [arg] <- getArgs input <- L8.getContents let dir = arg selectDestDir input createDirectoryIfMissing True dir (_,h) <- openTempFile dir "file.log" L8.hPut h input hClose h -- vim: ft=haskell