module Marihana.Init
    ( marihanaInit
    , marihanaInitCopy
    ) where

import System.Directory
import Paths_marihana

marihanaInit :: String -> IO ()
marihanaInit dirName = do
    initName <- getDataFileName("init/")
    listStyle <- listDirectory(initName ++ "css/")
    listTemplates <- listDirectory(initName ++ "templates/")
    createDirectory dirName
    createDirectory (dirName ++ "/css")
    createDirectory (dirName ++ "/templates")
    marihanaInitCopy listStyle initName "css/" (length listStyle) dirName
    marihanaInitCopy listTemplates initName "templates/" (length listTemplates) dirName

marihanaInitCopy :: [String] -> String -> String -> Int -> String -> IO ()
marihanaInitCopy list init dir count public = do
    if count <= 0
        then return ()
        else do
            putStrLn $ show init
            putStrLn $ show (public ++ "/" ++ dir ++ (list !! (count - 1)))
            copyFile (init ++ dir ++ (list !! (count - 1))) (public ++ "/" ++ dir ++ (list !! (count - 1)))
            marihanaInitCopy list init dir (count - 1) public