]> glassweightruler.freedombox.rocks Git - xdg-ninja.git/blobdiff - lib/Program.hs
Create ./programs/ directory if missing
[xdg-ninja.git] / lib / Program.hs
index 9674147167e0a908edef776afbd24e421b835e05..98261524212b137c81ae53c4c2ed33f7477c82c6 100644 (file)
@@ -8,6 +8,7 @@ import           Data.Aeson.Encode.Pretty
 import qualified Data.ByteString.Lazy     as B
 import qualified Data.Text                as T
 import           GHC.Generics
+import           System.Directory
 
 instance FromJSON File where
   parseJSON (Object v) = File
@@ -54,6 +55,7 @@ makeFilename s = T.pack ( "./programs/" ++ T.unpack s ++ ".json" )
 
 save :: T.Text -> Program -> IO ()
 save filename program = do
+  createDirectoryIfMissing False "./programs/"
   B.writeFile (T.unpack filename) (encodePretty program)
 
 readProgram :: String -> IO ( Maybe Program )