mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 10:14:06 +02:00
Added header to json output
This commit is contained in:
parent
fd56f9e3dd
commit
500c2f0448
1 changed files with 13 additions and 2 deletions
|
|
@ -2,6 +2,9 @@ use std::env;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
|
|
||||||
use main_error::MainError;
|
use main_error::MainError;
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
use tf_demo_parser::demo::header::Header;
|
||||||
|
use tf_demo_parser::demo::parser::analyser::MatchState;
|
||||||
use tf_demo_parser::demo::parser::player_summary_analyzer::PlayerSummaryAnalyzer;
|
use tf_demo_parser::demo::parser::player_summary_analyzer::PlayerSummaryAnalyzer;
|
||||||
pub use tf_demo_parser::{Demo, DemoParser, Parse, ParseError, ParserState, Stream};
|
pub use tf_demo_parser::{Demo, DemoParser, Parse, ParseError, ParserState, Stream};
|
||||||
|
|
||||||
|
|
@ -9,6 +12,13 @@ pub use tf_demo_parser::{Demo, DemoParser, Parse, ParseError, ParserState, Strea
|
||||||
#[global_allocator]
|
#[global_allocator]
|
||||||
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;
|
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
|
#[serde(rename_all = "camelCase")]
|
||||||
|
struct JsonDemo {
|
||||||
|
header: Header,
|
||||||
|
state: MatchState,
|
||||||
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), MainError> {
|
fn main() -> Result<(), MainError> {
|
||||||
#[cfg(feature = "better_panic")]
|
#[cfg(feature = "better_panic")]
|
||||||
better_panic::install();
|
better_panic::install();
|
||||||
|
|
@ -34,8 +44,9 @@ fn main() -> Result<(), MainError> {
|
||||||
} else {
|
} else {
|
||||||
DemoParser::new(demo.get_stream())
|
DemoParser::new(demo.get_stream())
|
||||||
};
|
};
|
||||||
let (_, state) = parser.parse()?;
|
let (header, state) = parser.parse()?;
|
||||||
println!("{}", serde_json::to_string(&state)?);
|
let demo = JsonDemo { header, state };
|
||||||
|
println!("{}", serde_json::to_string(&demo)?);
|
||||||
} else {
|
} else {
|
||||||
let parser = DemoParser::new_with_analyser(demo.get_stream(), PlayerSummaryAnalyzer::new());
|
let parser = DemoParser::new_with_analyser(demo.get_stream(), PlayerSummaryAnalyzer::new());
|
||||||
let (header, state) = parser.parse()?;
|
let (header, state) = parser.parse()?;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue