aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel <kingdread@gmx.de>2020-10-04 11:48:26 +0200
committerDaniel <kingdread@gmx.de>2020-10-04 11:48:26 +0200
commit5ae375078d981e9efb3ac6ea68572f941fc883cf (patch)
tree6718d823ec6c08a67b665a31fb0ee8396aa651f6
parent16a3472627e421488ec461447301a39fcca1d4ef (diff)
downloadraidgrep-5ae375078d981e9efb3ac6ea68572f941fc883cf.tar.gz
raidgrep-5ae375078d981e9efb3ac6ea68572f941fc883cf.tar.bz2
raidgrep-5ae375078d981e9efb3ac6ea68572f941fc883cf.zip
update to newest evtclib
There's a good chance that this will be evtclib 0.5, so we want to adapt our API usage (mainly replacing evtclib::Boss with evtclib::Encounter). The naming is a bit all over the place now, as we sometimes refer to bosses and sometimes to encounters, but I hope to make a sensible decision at *some point* about what we're actually doing here.
-rw-r--r--Cargo.lock3
-rw-r--r--Cargo.toml2
-rw-r--r--src/fexpr/grammar.lalrpop6
-rw-r--r--src/filters/log.rs10
-rw-r--r--src/main.rs12
-rw-r--r--src/output/formats.rs2
-rw-r--r--src/output/sorting.rs2
7 files changed, 18 insertions, 19 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 39be3a0..80b9646 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -421,8 +421,7 @@ dependencies = [
[[package]]
name = "evtclib"
version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c322ce050d923457e7d2d154380ffe5225a40495519e8fea3b5b35f58c407244"
+source = "git+https://gitlab.com/dunj3/evtclib.git?rev=b6676565#b6676565c39bb6a2fe8f5f01218fe654ec4d2cb8"
dependencies = [
"byteorder",
"getset",
diff --git a/Cargo.toml b/Cargo.toml
index 058d239..df9a838 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@ repository = "https://gitlab.com/dunj3/raidgrep"
lto = true
[dependencies]
-evtclib = "0.4.0"
+evtclib = { git = "https://gitlab.com/dunj3/evtclib.git", rev = "b6676565" }
regex = "1"
structopt = "0.3"
walkdir = "2"
diff --git a/src/fexpr/grammar.lalrpop b/src/fexpr/grammar.lalrpop
index 092407e..6333783 100644
--- a/src/fexpr/grammar.lalrpop
+++ b/src/fexpr/grammar.lalrpop
@@ -9,7 +9,7 @@ use super::{
DurationProducer,
CountProducer,
};
-use evtclib::Boss;
+use evtclib::Encounter;
use std::collections::HashSet;
use lalrpop_util::ParseError;
@@ -61,7 +61,7 @@ LogPredicate: Box<dyn filters::log::LogFilter> = {
"-log-before" <Date> => filters::log::log_before(<>),
"-log-after" <Date> => filters::log::log_after(<>),
- "-boss" <Comma<Boss>> => filters::log::boss(<>),
+ "-boss" <Comma<Encounter>> => filters::log::encounter(<>),
"-cm" => filters::log::challenge_mote(),
"-include" => filters::constant(true),
@@ -138,7 +138,7 @@ Weekday: Weekday = {
}),
}
-Boss: Boss = {
+Encounter: Encounter = {
<l:@L> <w:word> =>? w.parse().map_err(|_| ParseError::User {
error: FError {
location: l,
diff --git a/src/filters/log.rs b/src/filters/log.rs
index 10258a0..bd02b21 100644
--- a/src/filters/log.rs
+++ b/src/filters/log.rs
@@ -9,7 +9,7 @@ use super::{
use std::collections::HashSet;
-use evtclib::Boss;
+use evtclib::Encounter;
use chrono::{DateTime, Datelike, Utc, Weekday};
use num_traits::FromPrimitive as _;
@@ -18,22 +18,22 @@ use num_traits::FromPrimitive as _;
pub trait LogFilter = Filter<EarlyLogResult, LogResult>;
#[derive(Debug, Clone)]
-struct BossFilter(HashSet<Boss>);
+struct BossFilter(HashSet<Encounter>);
impl Filter<EarlyLogResult, LogResult> for BossFilter {
fn filter_early(&self, early_log: &EarlyLogResult) -> Inclusion {
- let boss = Boss::from_u16(early_log.evtc.header.combat_id);
+ let boss = Encounter::from_u16(early_log.evtc.header.combat_id);
boss.map(|b| self.0.contains(&b).into())
.unwrap_or(Inclusion::Exclude)
}
fn filter(&self, log: &LogResult) -> bool {
- log.boss.map(|b| self.0.contains(&b)).unwrap_or(false)
+ log.encounter.map(|b| self.0.contains(&b)).unwrap_or(false)
}
}
/// A `LogFilter` that only accepts logs with one of the given bosses.
-pub fn boss(bosses: HashSet<Boss>) -> Box<dyn LogFilter> {
+pub fn encounter(bosses: HashSet<Encounter>) -> Box<dyn LogFilter> {
Box::new(BossFilter(bosses))
}
diff --git a/src/main.rs b/src/main.rs
index 0ff9e44..9149b17 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -17,7 +17,7 @@ use structopt::StructOpt;
use walkdir::{DirEntry, WalkDir};
use evtclib::raw::parser::PartialEvtc;
-use evtclib::{Boss, EventKind, Log, Outcome};
+use evtclib::{Encounter, EventKind, Log, Outcome};
mod fexpr;
mod filters;
@@ -172,8 +172,8 @@ pub struct LogResult {
time: DateTime<Utc>,
/// The duration of the fight.
duration: Duration,
- /// The boss.
- boss: Option<Boss>,
+ /// The encounter.
+ encounter: Option<Encounter>,
/// A vector of all participating players.
players: Vec<Player>,
/// The outcome of the fight.
@@ -552,8 +552,8 @@ fn search_file(path: &Path, is_zip: bool, filter: &dyn LogFilter) -> Result<Opti
/// Extract human-readable information from the given log file.
fn extract_info(path: &Path, log: &Log) -> LogResult {
- let boss = log.encounter();
- if boss.is_none() {
+ let encounter = log.encounter();
+ if encounter.is_none() {
debug!(
"log file has unknown boss: {:?} (id: {:#x})",
path,
@@ -579,7 +579,7 @@ fn extract_info(path: &Path, log: &Log) -> LogResult {
log_file: path.to_path_buf(),
time: Utc.timestamp(i64::from(log.local_end_timestamp().unwrap_or(0)), 0),
duration: get_fight_duration(log),
- boss,
+ encounter,
players,
outcome: get_fight_outcome(log),
is_cm: log.is_cm(),
diff --git a/src/output/formats.rs b/src/output/formats.rs
index 560963b..7225da2 100644
--- a/src/output/formats.rs
+++ b/src/output/formats.rs
@@ -42,7 +42,7 @@ impl Format for HumanReadable {
.with_timezone(&Local)
.format("%Y-%m-%d %H:%M:%S %a"),
"Boss".green(),
- item.boss
+ item.encounter
.map(|x| x.to_string())
.unwrap_or_else(|| "unknown".into()),
if item.is_cm { " CM" } else { "" },
diff --git a/src/output/sorting.rs b/src/output/sorting.rs
index 2a0821c..628a1a8 100644
--- a/src/output/sorting.rs
+++ b/src/output/sorting.rs
@@ -68,7 +68,7 @@ impl Display for Component {
}
fn boss_id(log: &LogResult) -> u32 {
- log.boss.map(|x| x as u32).unwrap_or(0)
+ log.encounter.map(|x| x as u32).unwrap_or(0)
}
impl Component {