From 5815e0daa2d870a423e0f450164c4faa375349c0 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Sat, 26 Jul 2025 08:39:37 +0300 Subject: [PATCH] `cameras.xml` xmllint --- src/metadata/camerasxml_parser/Cargo.toml | 4 ++++ src/metadata/camerasxml_parser/xmllint.rs | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/metadata/camerasxml_parser/xmllint.rs diff --git a/src/metadata/camerasxml_parser/Cargo.toml b/src/metadata/camerasxml_parser/Cargo.toml index 810e968..618bb20 100644 --- a/src/metadata/camerasxml_parser/Cargo.toml +++ b/src/metadata/camerasxml_parser/Cargo.toml @@ -19,3 +19,7 @@ rawspeed-metadata-xmlparser = { path = "../xmlparser" } [lib] path = "mod.rs" + +[[bin]] +name = "xmllint" +path = "xmllint.rs" diff --git a/src/metadata/camerasxml_parser/xmllint.rs b/src/metadata/camerasxml_parser/xmllint.rs new file mode 100644 index 0000000..0882297 --- /dev/null +++ b/src/metadata/camerasxml_parser/xmllint.rs @@ -0,0 +1,22 @@ +use rawspeed_metadata_camerasxml_parser::camerasxml_parser; +use std::env; +use std::fs; + +#[expect(clippy::print_stdout, clippy::use_debug)] +fn main() -> Result<(), Box> { + let args: Vec = env::args().collect(); + + let file_path = match args.get(2) { + Some(p) => p, + None => "/home/lebedevri/rawspeed/data/cameras.xml", + }; + + println!("In file {file_path}"); + + let contents = fs::read_to_string(file_path) + .expect("Should have been able to read the file"); + + let repr = camerasxml_parser::parse_str(&contents)?; + println!("{repr:#?}"); + Ok(()) +}