packages feed

nptools-0.5.0: deliver-to-pollbox.hs

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