23 lines
657 B
Rust
23 lines
657 B
Rust
use std::fs::File;
|
|
use std::io::{self, BufReader};
|
|
use std::path::Path;
|
|
|
|
use crate::data::store;
|
|
|
|
pub fn run(datafile: &Path) -> io::Result<()> {
|
|
let mut databuf = BufReader::new(File::open(datafile)?);
|
|
let data = store::read_adjacency_list(&mut databuf)?;
|
|
|
|
for (page_idx, page) in data.pages() {
|
|
if page.data.redirect {
|
|
for link_idx in data.link_range(page_idx) {
|
|
let target_page = data.page(data.link(link_idx).to);
|
|
println!("{:?} -> {:?}", page.data.title, target_page.data.title);
|
|
}
|
|
} else {
|
|
println!("{:?}", page.data.title);
|
|
}
|
|
}
|
|
|
|
Ok(())
|
|
}
|