nparse 0.0.4

Parser in rust for specific use-cases
docs.rs failed to build nparse-0.0.4
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: nparse-0.0.3

nparse 0.0.3

Build Status

Parser for various Rust Strings.

Parsers for:

  • Well Indent Strings (eg: dmidecode output)
  • KV pair Strings (eg: lscpu output)
  • Multiline KV pair strings (eg: systeminfo output of windows)
  • Dotted tree Strings (eg: sysctl output)

Requirements

  • Rust 1.36+

Usage

nparse = "0.0.4"

Example use

  • Converting an Indent string into json
use std::{fs::File, io::Read};
use nparse::*;

fn main () {
    let path = "data/dmidecode.txt";
    let mut out = String::new();
    {
        let mut f = File::open(path).unwrap();
        f.read_to_string(&mut out).unwrap();
    }
    let result = out.indent_to_json();
    println!("{:?}", result);
}
  • Converting a K:V string into json
use std::{fs::File, io::Read};
use nparse::*;

fn main () {
    let path = "data/lscpu.txt";
    let mut out = String::new();
    {
        let mut f = File::open(path).unwrap();
        f.read_to_string(&mut out).unwrap();
    }
    let result = out.kv_str_to_json();
    println!("{:?}", result);
}
  • Converting a dotted string into json (eg: parent.sub.sub: val)
use std::{fs::File, io::Read};
use nparse::*;

fn main () {
    let path = "data/sysctl.txt";
    let mut out = String::new();
    {
        let mut f = File::open(path).unwrap();
        f.read_to_string(&mut out).unwrap();
    }
    let result = out.dotted_tree_to_json();
    println!("{:?}", result);
}

Tests, Build

  • Test
cargo t 
  • Build Release
cargo b --release

Examples

  • Parse dmidecode output to json
cargo run --example dmidecode
  • Parse sysctl output to json
cargo run --example sysctl
  • Parse lscpu to json
cargo run --example lscpu
  • Parse windows systeminfo to json
cargo run --example systeminfo