From f2a0bfda001e258a69beed7077287c857d5a3770 Mon Sep 17 00:00:00 2001 From: Louis-Guillaume Gagnon Date: Thu, 5 Sep 2013 12:09:40 -0400 Subject: [PATCH] TOols/SQL.hs: create database in HOME/. --- src/Tools/Constants.hs | 4 ---- src/Tools/SQL.hs | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/Tools/Constants.hs b/src/Tools/Constants.hs index 128a2e3..595961b 100644 --- a/src/Tools/Constants.hs +++ b/src/Tools/Constants.hs @@ -18,16 +18,12 @@ -} module Tools.Constants ( - dbName, progName, progVersion, - tableName ) where import Database.HDBC import Database.HDBC.Sqlite3 -dbName = progName ++ ".db" progName = "hdata" progVersion = "0.0" -tableName = "mainTable" diff --git a/src/Tools/SQL.hs b/src/Tools/SQL.hs index 60845e4..332a611 100644 --- a/src/Tools/SQL.hs +++ b/src/Tools/SQL.hs @@ -29,9 +29,20 @@ module Tools.SQL ( import Data.List (intersperse) import Database.HDBC import Database.HDBC.Sqlite3 +import System.Directory (createDirectoryIfMissing) +import System.Environment (getEnv) import Tools.Constants +tableName :: String +tableName = "mainTable" + +dbDir :: IO String +dbDir = getEnv "HOME" >>= (\s -> return $ s ++ "/." ++ progName) + +dbName :: IO String +dbName = dbDir >>= (\s -> return $ s ++ "/" ++ progName ++ ".db") + addEntry :: ([String],[String]) -> IO () addEntry pairs = return (buildSQLAdd pairs) >>= runSQL @@ -68,7 +79,10 @@ createdb conn = do run conn ("CREATE TABLE " ++ tableName ++ "(id INTEGER opendb :: IO Connection opendb = do - conn <- connectSqlite3 dbName + dir <- dbDir + createDirectoryIfMissing False dir + name <- dbName + conn <- connectSqlite3 name tables <- getTables conn if not (tableName `elem` tables) then do createdb conn -- 2.11.4.GIT