switching to use real dates.

This commit is contained in:
Bryce Covert
2018-04-12 22:33:57 -07:00
parent e1e0835bee
commit 056bfc38a4
8 changed files with 64 additions and 19 deletions

View File

@@ -3,9 +3,23 @@
[auto-ap.parse.templates :as t]
[clj-fuzzy.metrics :as m]
[clojure.java.shell :as sh]
[clojure.string :as str]))
[clojure.string :as str]
[clj-time.format :as f]
[clj-time.core :as time]))
(defmulti parse-value (fn [method _ _]
method))
(defmethod parse-value :clj-time
[_ format value]
(time/from-time-zone (f/parse (f/formatter format) value)
(time/time-zone-for-id "America/Los_Angeles")))
(defmethod parse-value nil
[_ _ value]
value)
(defn template-applies? [text {:keys [keywords]}]
(every? #(re-find % text) keywords))
@@ -20,8 +34,10 @@
:extract
(reduce-kv
(fn [result k v]
(assoc result k (some-> (first (map second (re-seq v text)))
str/trim )))
(let [value (some-> (first (map second (re-seq v text)))
str/trim )
[value-parser parser-params] (-> template :parser k)]
(assoc result k (parse-value value-parser parser-params value))))
{:vendor-code (:vendor template)}))]))
(defn parse [text]