001 (ns cmp.config
002 (:require [clojure.edn :as edn]
003 [clojure.java.io :as io]
004 [clojure.string :as string]))
005
006 (defn config
007 "Reads a `edn` configuration in file `f`."
008 ([]
009 (config (io/resource "config.edn")))
010 ([f]
011 (-> f slurp edn/read-string)))
012
013 (defn ref-mpd [c] (-> (io/resource (:ref-mpd c)) slurp edn/read-string))
014
015 (defn st-conn [c](:st-conn c))
016
017 (defn key-pad-length [c] (:key-pad-length c))
018
019 (defn st-db [c] (get-in c [:st-conn :spec :db]))
020
021 (defn min-task-period [c] (:min-task-period c))
022
023 (defn json-post-header [c] (:json-post-header c))
024
025 (defn anselm-url [c] (:anselm-url c))
026
027 (defn stop-if-delay [c] (:stop-if-delay c))
028
029 (defn max-retry [c] (:max-retry c))
030
031 (defn build-on-start [c]
032 (if-let [s (System/getenv "CMP_BUILD_ON_START")]
033 (string/split s #"[;,\s]")
034 (:build-on-start c)))
035
036 (defn dev-hub-url
037 [c]
038 (if-let [url (System/getenv "CMP_DEVHUB_URL")]
039 url
040 (:dev-hub-url c)))
041
042 (defn dev-proxy-url
043 [c]
044 (if-let [url (System/getenv "CMP_DEVPROXY_URL")]
045 url
046 (:dev-proxy-url c)))
047
048 (defn lt-url
049 [c]
050 (let [lt-srv (System/getenv "CMP_LT_SRV")
051 usr (System/getenv "CAL_USR")
052 pwd (System/getenv "CAL_PWD")
053 cred (when (and usr pwd) (str usr ":" pwd "@"))]
054 (str (:lt-prot c) "://" cred (or lt-srv (:lt-srv c)) ":"(:lt-port c))) )
055
056 (defn lt-conn [c] (str (lt-url c) "/"(:lt-db c)))