add handling of unknown combat events instead of just silently ignoring
This commit is contained in:
parent
08b4ac32d7
commit
71b94e6e4b
|
@ -82,6 +82,13 @@
|
||||||
(update-active-encounter x #(handle-event event %)))
|
(update-active-encounter x #(handle-event event %)))
|
||||||
data))
|
data))
|
||||||
|
|
||||||
|
(s/defn ^:private handle-unknown-event :- RaidAnalysis
|
||||||
|
[event :- CombatEvent
|
||||||
|
data :- RaidAnalysis]
|
||||||
|
"special handling for unknown combat events."
|
||||||
|
(warn (str "Unknown event encountered during log file parse: \"" (:line event) "\". Skipping event."))
|
||||||
|
(assoc data :unknown-events-count (inc (or (:unknown-events-count data) 0))))
|
||||||
|
|
||||||
(s/defn ^:private parse-log* :- (s/maybe RaidAnalysis)
|
(s/defn ^:private parse-log* :- (s/maybe RaidAnalysis)
|
||||||
[f
|
[f
|
||||||
options :- ParserOptions]
|
options :- ParserOptions]
|
||||||
|
@ -91,9 +98,11 @@
|
||||||
(fn [data ^String line]
|
(fn [data ^String line]
|
||||||
(try
|
(try
|
||||||
(let [event (parse-line line options)]
|
(let [event (parse-line line options)]
|
||||||
(if (active-encounter? data)
|
(if (= :unknown (:event event))
|
||||||
(active-encounter-processing event data)
|
(handle-unknown-event event data)
|
||||||
(out-of-encounter-processing event data)))
|
(if (active-encounter? data)
|
||||||
|
(active-encounter-processing event data)
|
||||||
|
(out-of-encounter-processing event data))))
|
||||||
(catch Exception ex
|
(catch Exception ex
|
||||||
(throw (ex-info "Parser error" {:line line} ex)))))
|
(throw (ex-info "Parser error" {:line line} ex)))))
|
||||||
{:encounters []
|
{:encounters []
|
||||||
|
|
|
@ -85,8 +85,9 @@
|
||||||
|
|
||||||
; TODO
|
; TODO
|
||||||
(def RaidAnalysis
|
(def RaidAnalysis
|
||||||
{:encounters [Encounter]
|
{:encounters [Encounter]
|
||||||
:active-encounter (s/maybe Encounter)})
|
:active-encounter (s/maybe Encounter)
|
||||||
|
(s/optional-key :unknown-events-count) (s/Num)})
|
||||||
|
|
||||||
; TODO
|
; TODO
|
||||||
(def DamageProperties
|
(def DamageProperties
|
||||||
|
|
Reference in a new issue