Skip to main content

dump_assets/
dump_assets.rs

1use brdb::{Brdb, IntoReader};
2use std::collections::BTreeMap;
3use std::path::PathBuf;
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5    let p = PathBuf::from(std::env::args().nth(1).unwrap());
6    let db = Brdb::open(&p)?.into_reader();
7    let gd = db.global_data()?;
8    let mut by_type: BTreeMap<String, Vec<String>> = BTreeMap::new();
9    for (ty, name) in &gd.external_asset_references {
10        by_type.entry(ty.clone()).or_default().push(name.clone());
11    }
12    println!("=== external_asset_references: {} total, {} types ===",
13        gd.external_asset_references.len(), by_type.len());
14    for (ty, names) in &by_type {
15        println!("\n[{}] ({})", ty, names.len());
16        for n in names { println!("  {}", n); }
17    }
18    println!("\n=== external_asset_types ===");
19    let mut ts: Vec<_> = gd.external_asset_types.iter().collect();
20    ts.sort();
21    for t in ts { println!("  {}", t); }
22    Ok(())
23}