about summary refs log tree commit diff
path: root/src/pronouns/util.clj
diff options
context:
space:
mode:
authorMorgan <m@morganastra.me>2015-03-10 09:29:58 +0000
committerMorgan <m@morganastra.me>2015-03-10 09:29:58 +0000
commitd88f645e267078572c19cbe37b37acc9798ad532 (patch)
treec0d80c9a50176d731d56a968ad0354d542d958fd /src/pronouns/util.clj
parent1ff93e23bce924ab516a24fcd279d3e232f36954 (diff)
factor out pages and util namespaces per #6
Diffstat (limited to 'src/pronouns/util.clj')
-rw-r--r--src/pronouns/util.clj16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pronouns/util.clj b/src/pronouns/util.clj
new file mode 100644
index 0000000..1269664
--- /dev/null
+++ b/src/pronouns/util.clj
@@ -0,0 +1,16 @@
+(ns pronouns.util
+  (:require [clojure.string :as s]))
+
+(defn slurp-tabfile [path]
+  (let [lines (s/split (slurp path) #"\n")]
+    (map #(s/split % #"\t") lines)))
+
+(defn table-lookup
+  [query-key table]
+  (let [arity (count query-key)
+        filtered-table (filter #(= query-key (take arity %)) table)]
+    (first filtered-table)))
+
+(defn tabfile-lookup
+  [query-key tabfile]
+  (table-lookup query-key (slurp-tabfile tabfile)))