tons of bug fixes
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
(ns auto-ap.parse.excel
|
||||
(:require [auto-ap.parse.templates :as t]
|
||||
[auto-ap.parse.util :as u]
|
||||
[clojure.string :as str]
|
||||
[dk.ative.docjure.spreadsheet :as d])
|
||||
(:import (org.apache.poi.ss.util CellAddress)))
|
||||
@@ -9,7 +10,7 @@
|
||||
(defn template-applies? [text {:keys [keywords]}]
|
||||
(every? #(re-find % text) keywords))
|
||||
|
||||
(defn extract [wb {:keys [extract vendor]}]
|
||||
(defn extract [wb {:keys [extract vendor parser]}]
|
||||
(if (fn? extract)
|
||||
(extract wb vendor)
|
||||
[(reduce-kv
|
||||
@@ -24,11 +25,15 @@
|
||||
(map (fn [cell]
|
||||
(let [address (.getAddress cell)
|
||||
cell-value (str (d/read-cell (d/select-cell (.toString (CellAddress. (+ offset-row (.getRow address)) (+ offset-column (.getColumn address)) ))
|
||||
(first (d/sheet-seq wb)))))]
|
||||
(if extract-regex
|
||||
(second (re-find extract-regex cell-value))
|
||||
|
||||
cell-value))))
|
||||
(first (d/sheet-seq wb)))))
|
||||
raw-result (if extract-regex
|
||||
(second (re-find extract-regex cell-value))
|
||||
|
||||
cell-value)]
|
||||
(if (get parser k)
|
||||
(u/parse-value (first (get parser k) ) (second (get parser k) ) raw-result)
|
||||
raw-result
|
||||
))))
|
||||
first)))
|
||||
{:vendor-code vendor}
|
||||
extract)]))
|
||||
|
||||
Reference in New Issue
Block a user