company identification.
This commit is contained in:
@@ -1,29 +1,15 @@
|
||||
(ns auto-ap.parse.excel
|
||||
(:import [org.apache.poi.ss.util CellAddress])
|
||||
(:require [dk.ative.docjure.spreadsheet :as d]
|
||||
|
||||
[clojure.string :as str]))
|
||||
[clojure.string :as str]
|
||||
[auto-ap.parse.templates :as t]))
|
||||
|
||||
|
||||
(def templates
|
||||
[{:vendor "Isp Productions"
|
||||
:keywords [#"ISP PRODUCTIONS"]
|
||||
:extract {:customer-identifier [#"SERVICES PROVIDED TO" 1 0]
|
||||
:total [#"PAY THIS" -1 0]
|
||||
:date [#"INVOICE DATE" 0 1]
|
||||
:invoice-number [#"INVOICE NUMBER" 0 1]}}
|
||||
{:vendor "Southern Wine Online"
|
||||
:keywords [#"Please note that the total invoice amount may"]
|
||||
:extract {:customer-identifier [#"Customer #" 1 0]
|
||||
:total [#"Total Invoice" 0 5]
|
||||
:date [#"Date" 0 0 #"Date: (.*)"]
|
||||
:invoice-number [#"Invoice #" 0 0 #"Invoice #: (.*)"]}}])
|
||||
|
||||
(defn template-applies? [text {:keys [keywords]}]
|
||||
(every? #(re-find % text) keywords))
|
||||
|
||||
(defn extract [wb {:keys [extract vendor]}]
|
||||
(println extract)
|
||||
|
||||
(reduce-kv
|
||||
(fn [invoice k [regex offset-row offset-column extract-regex]]
|
||||
(assoc invoice k
|
||||
@@ -54,7 +40,7 @@
|
||||
(d/cell-seq)
|
||||
(map d/read-cell)
|
||||
(str/join " "))]
|
||||
(->> templates
|
||||
(->> t/excel-templates
|
||||
(filter (partial template-applies? text))
|
||||
first
|
||||
(extract wb)
|
||||
|
||||
Reference in New Issue
Block a user