Create posts directory if needed
authorLuke Lau <luke_lau@icloud.com>
Fri, 12 Oct 2018 14:18:47 +0000 (15:18 +0100)
committerLuke Lau <luke_lau@icloud.com>
Fri, 12 Oct 2018 14:18:47 +0000 (15:18 +0100)
Main.hs

diff --git a/Main.hs b/Main.hs
index b7a6847e97996eccefc7d5964cc3c46d4e4b9e36..24e201726f653d994b9ea53c63f69419b358bdd3 100644 (file)
--- a/Main.hs
+++ b/Main.hs
@@ -11,6 +11,7 @@ import qualified Data.Map.Lazy as Map
 import Data.Maybe
 import Data.Ord
 import Data.IORef
+import Control.Exception
 import Control.Monad
 import Control.Monad.IO.Class
 import Control.Monad.Trans.Class
@@ -24,6 +25,7 @@ import Lucid.Base
 import System.Directory
 import System.FilePath
 import System.Random
+import System.IO.Error
 import Network.HTTP.Types
 
 type Sessions = Map.Map T.Text T.Text
@@ -68,6 +70,7 @@ logins = Map.fromList
 main :: IO ()
 main = do
   preserve <- mkPreserve mempty
+  createDirectory "posts" `catch` (\e -> unless (isAlreadyExistsError e) (throw e))
   scottyT 3000 preserve $ do
     get "/style.css" $ file "style.css"