mirror of
https://codeberg.org/icewind/vdf-reader.git
synced 2026-06-03 10:04:08 +02:00
37 lines
925 B
Rust
37 lines
925 B
Rust
use miette::{Context, IntoDiagnostic, Result};
|
|
use serde::Deserialize;
|
|
use std::collections::HashMap;
|
|
use std::env::args;
|
|
use std::fs::read_to_string;
|
|
use vdf_reader::from_str;
|
|
|
|
#[derive(Debug, Deserialize)]
|
|
#[allow(dead_code)]
|
|
struct LibraryFolders {
|
|
#[serde(rename = "libraryfolders")]
|
|
folders: Vec<LibraryFolder>,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize)]
|
|
#[allow(dead_code)]
|
|
struct LibraryFolder {
|
|
path: String,
|
|
label: String,
|
|
#[serde(rename = "contentid")]
|
|
content_id: i64,
|
|
#[serde(rename = "totalsize")]
|
|
total_size: u64,
|
|
update_clean_bytes_tally: u64,
|
|
time_last_update_verified: u64,
|
|
apps: HashMap<u64, u64>,
|
|
}
|
|
|
|
fn main() -> Result<()> {
|
|
let path = args().nth(1).expect("no path provided");
|
|
let raw = read_to_string(path)
|
|
.into_diagnostic()
|
|
.wrap_err("failed to read input")?;
|
|
let folders: LibraryFolders = from_str(&raw)?;
|
|
dbg!(folders);
|
|
Ok(())
|
|
}
|