From 4453489ba52eed40cef56595440366432f656679 Mon Sep 17 00:00:00 2001 From: Alex Wheeler Date: Thu, 17 Nov 2016 09:32:40 -0500 Subject: [PATCH] read configuration from config.edn file in root directory --- config.edn | 34 +++++++++++++++++++--------------- src/airlift/core.clj | 13 ++++--------- src/airlift/db.clj | 4 ++-- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/config.edn b/config.edn index b4b2f83..db7e359 100644 --- a/config.edn +++ b/config.edn @@ -1,16 +1,20 @@ -{:sftp - { - :username "" - :password "" - :host "" - } - :db - { - :user "" - :password "" - :address "" - :port "1433" - :name "" - :tables [] - } +{ + :sftp { + :username "" + :password "" + :host "" + } + :db { + :username "" + :password "" + :address "localhost" + :port "1433" + :name "" + :tables [ + "" + "" + "" + "" + ] + } } diff --git a/src/airlift/core.clj b/src/airlift/core.clj index b78bb39..00ee17f 100644 --- a/src/airlift/core.clj +++ b/src/airlift/core.clj @@ -4,17 +4,12 @@ [airlift.channel :as ch] [airlift.csv :as csv])) -(defn export-tables - [] - (let [config (read-string (slurp "config.edn"))] - (println config))) - -(def creds {:host "" :username "" :password ""}) +(def config (clojure.edn/read-string (slurp "config.edn"))) (defn -main [& args] - (let [conn (db/init "" "" "") - chan (ch/channel creds)] - (doseq [table []] + (let [conn (db/init (select-keys (:db config) [:name :username :password])) + chan (ch/channel (:sftp config))] + (doseq [table (get-in config [:db :tables])] (let [data [] res (db/query conn (str "SELECT * FROM " table))] (let [headers (->> (first res) (keys) diff --git a/src/airlift/db.clj b/src/airlift/db.clj index 7c8d506..7b1c2a3 100644 --- a/src/airlift/db.clj +++ b/src/airlift/db.clj @@ -19,9 +19,9 @@ (defn- connect [db dbname config] (.connect db (str "jdbc:sqlserver://127.0.0.1:1433;databaseName=" dbname) config)) -(defn init [dbname username password] +(defn init [{:keys [name username password]}] "Returns new database connection" - (connect driver dbname (config username password))) + (connect driver name (config username password))) (defn query [conn query] "Executes query on db connection and returns ResultSet"