aboutsummaryrefslogtreecommitdiff
path: root/libs/steam_appinfo_ffi/vendor/steam-vdf-parser/examples/test_parse_real.rs
blob: 97752d46222b7e83ae430690a3da5193a0d83d38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use std::fs;
use steam_vdf_parser::{parse_binary, parse_text};

fn main() {
    // Test localconfig.vdf (text format)
    println!("=== Parsing localconfig.vdf (text format) ===");
    let localconfig = fs::read_to_string(
        "/home/mexus/.local/share/Steam/userdata/127648749/config/localconfig.vdf",
    );
    match localconfig {
        Ok(content) => match parse_text(&content) {
            Ok(vdf) => {
                println!("Success!");
                println!("Root key: {}", vdf.key());
                let obj = vdf.as_obj().unwrap();
                println!("Root has {} keys", obj.len());
            }
            Err(e) => {
                println!("Parse error: {:?}", e);
            }
        },
        Err(e) => println!("Error reading: {}", e),
    }

    println!("\n=== Parsing appinfo.vdf (binary format) ===");
    let appinfo = fs::read("/home/mexus/.local/share/Steam/appcache/appinfo.vdf");
    match appinfo {
        Ok(data) => match parse_binary(&data) {
            Ok(vdf) => {
                println!("Success!");
                println!("Root key: {}", vdf.key());
                let obj = vdf.as_obj().unwrap();
                println!("Root has {} keys", obj.len());
            }
            Err(e) => {
                println!("Parse error: {:?}", e);
            }
        },
        Err(e) => println!("Error reading: {}", e),
    }
}