mirror of
https://codeberg.org/icewind/tf-log-parser.git
synced 2026-06-03 10:14:10 +02:00
raw events
This commit is contained in:
parent
b9ea35c937
commit
484fd735d1
2 changed files with 9 additions and 5 deletions
|
|
@ -1,15 +1,15 @@
|
||||||
use main_error::MainError;
|
use main_error::MainError;
|
||||||
use std::env::args;
|
use std::env::args;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use tf_log_parser::{GameEvent, LineSplit, RawEvent};
|
use tf_log_parser::{raw_events, GameEvent};
|
||||||
|
|
||||||
fn main() -> Result<(), MainError> {
|
fn main() -> Result<(), MainError> {
|
||||||
let path = args().nth(1).expect("No path provided");
|
let path = args().nth(1).expect("No path provided");
|
||||||
let input = fs::read_to_string(path)?;
|
let input = fs::read_to_string(path)?;
|
||||||
|
|
||||||
let events: Vec<_> = LineSplit::new(&input)
|
let events: Vec<_> = raw_events(&input)
|
||||||
.flat_map(RawEvent::parse)
|
.map(|res| res.expect("Failed to parse raw event"))
|
||||||
.map(|raw| GameEvent::parse(&raw).unwrap())
|
.map(|raw| GameEvent::parse(&raw).expect("Failed to parse event"))
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
println!("{} events parsed", events.len());
|
println!("{} events parsed", events.len());
|
||||||
|
|
@ -58,6 +58,10 @@ pub fn parse(
|
||||||
parse_with_handler::<LogHandler>(log)
|
parse_with_handler::<LogHandler>(log)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn raw_events<'a>(log: &'a str) -> impl Iterator<Item = Result<RawEvent<'a>>> + 'a {
|
||||||
|
LineSplit::new(log).map(RawEvent::parse)
|
||||||
|
}
|
||||||
|
|
||||||
pub fn parse_with_handler<Handler: EventHandler>(
|
pub fn parse_with_handler<Handler: EventHandler>(
|
||||||
log: &str,
|
log: &str,
|
||||||
) -> Result<
|
) -> Result<
|
||||||
|
|
@ -67,7 +71,7 @@ pub fn parse_with_handler<Handler: EventHandler>(
|
||||||
),
|
),
|
||||||
Error,
|
Error,
|
||||||
> {
|
> {
|
||||||
let events = LineSplit::new(log).map(RawEvent::parse);
|
let events = raw_events(log);
|
||||||
|
|
||||||
let mut handler = Handler::default();
|
let mut handler = Handler::default();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue