Export data to CBOR

This commit is contained in:
Joscha 2022-09-30 19:49:54 +02:00
parent 499642cda9
commit 1ea09a9be9
4 changed files with 43 additions and 0 deletions

34
brood/Cargo.lock generated
View file

@ -40,6 +40,7 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
name = "brood" name = "brood"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"ciborium",
"clap", "clap",
"rustc-hash", "rustc-hash",
"serde", "serde",
@ -53,6 +54,33 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "ciborium"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f"
dependencies = [
"ciborium-io",
"ciborium-ll",
"serde",
]
[[package]]
name = "ciborium-io"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369"
[[package]]
name = "ciborium-ll"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b"
dependencies = [
"ciborium-io",
"half",
]
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.0.5" version = "4.0.5"
@ -110,6 +138,12 @@ dependencies = [
"wasi", "wasi",
] ]
[[package]]
name = "half"
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
[[package]] [[package]]
name = "halfbrown" name = "halfbrown"
version = "0.1.15" version = "0.1.15"

View file

@ -4,6 +4,7 @@ version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
ciborium = "0.2.0"
clap = { version = "4.0.5", features = ["derive"] } clap = { version = "4.0.5", features = ["derive"] }
rustc-hash = "1.1.0" rustc-hash = "1.1.0"
serde = { version = "1.0.145", features = ["derive"] } serde = { version = "1.0.145", features = ["derive"] }

View file

@ -1,3 +1,6 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct Page { pub struct Page {
pub link_idx: u32, pub link_idx: u32,
pub ns: u16, pub ns: u16,
@ -6,12 +9,14 @@ pub struct Page {
pub redirect: bool, pub redirect: bool,
} }
#[derive(Debug, Serialize, Deserialize)]
pub struct Link { pub struct Link {
pub to: u32, pub to: u32,
pub start: u32, pub start: u32,
pub end: u32, pub end: u32,
} }
#[derive(Debug, Serialize, Deserialize)]
pub struct AdjacencyList { pub struct AdjacencyList {
pub pages: Vec<Page>, pub pages: Vec<Page>,
pub links: Vec<Link>, pub links: Vec<Link>,

View file

@ -178,5 +178,8 @@ pub fn ingest() -> io::Result<()> {
} }
} }
eprintln!("EXPORT");
ciborium::ser::into_writer(&second_stage, io::stdout()).unwrap();
Ok(()) Ok(())
} }