diff options
| author | sostler <sbostler@gmail.com> | 2010-05-17 11:58:28 -0400 |
|---|---|---|
| committer | sostler <sbostler@gmail.com> | 2010-05-17 11:58:28 -0400 |
| commit | ffc48db948189fbce594d1a86be3fa197315aaed (patch) | |
| tree | 40745df8919c03744cee3aadc7d3ee3ba0fd338f /src/utils.clj | |
| parent | 43a4c7ce3ea0c4278232a0b93c4876372ca7e037 (diff) | |
test page for feed import
Diffstat (limited to 'src/utils.clj')
| -rwxr-xr-x | src/utils.clj | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/utils.clj b/src/utils.clj index 3f3efab..5d7af94 100755 --- a/src/utils.clj +++ b/src/utils.clj @@ -4,6 +4,8 @@ java.util.TimeZone java.io.File java.net.URLDecoder + javax.sql.DataSource + org.postgresql.ds.PGPoolingDataSource org.apache.commons.codec.digest.DigestUtils org.antlr.stringtemplate.StringTemplateGroup) (:use clojure.contrib.json.write @@ -12,13 +14,16 @@ compojure)) (let [db-host "localhost" - db-port 5432 - db-name "dumpfm"] - (def *db* {:classname "org.postgresql.Driver" - :subprotocol "postgresql" - :subname (str "//" db-host ":" db-port "/" db-name) - :user "postgres" - :password "root"})) + db-name "dumpfm" + db-user "postgres" + db-pass "root"] + ; TODO: use c3p0 for pooling? + (def *db* {:datasource (doto (new PGPoolingDataSource) + (.setServerName db-host) + (.setDatabaseName db-name) + (.setUser db-user) + (.setPassword db-pass) + (.setMaxConnections 3))})) ;; moved this to here which doesn't seem right... maybe a 'settings.clj' or something? (def *dumps-per-page* 20) @@ -26,6 +31,9 @@ ;; Misc +(defn append [& vecs] + (reduce into vecs)) + (declare stringify-and-escape) (defn escape-html-deep [o] (if (map? o) @@ -78,11 +86,11 @@ (defn sha1-hash [& more] (DigestUtils/shaHex (apply str more))) -(defmacro with-timing [e] +(defmacro with-timing [e] `(let [s# (System/nanoTime) r# ~e f# (System/nanoTime)] - [(int (/ (- f# s#) 1000000.0)) r#])) + [(int (/ (- f# s#) 1e6)) r#])) ;; Formatters @@ -185,6 +193,10 @@ ([res ok err] (if (not (= (first res) 1)) err ok)) ([res] (assert-update res true false))) +(defn sql-array [type arr] + (with-connection *db* + (.createArrayOf (connection) type (into-array arr)))) + ;; Parsing (defn maybe-parse-int |
