extern crate regex; use regex::Regex; extern crate walkdir; use walkdir::WalkDir; use std::io::prelude::*; use std::fs::File; use std::env; use std::path::{Path, PathBuf}; mod pre_process; use pre_process::Section; fn main() { let raw_files = env::var("RAW_FILES").unwrap_or("S:\\grilist\\acd\\acd_character_parser\\characters\\".into()); let base_path = Path::new(&raw_files); let mut sections: Vec
= vec![]; sections.push(Section { name: "image".into(), re: Regex::new(r#"(?is)

.*

View Full Size Image"#).unwrap(), content: String::new(), }); for entry in WalkDir::new(base_path).min_depth(1).into_iter().filter_map(|e| e.ok()) { let mut f = File::open(entry.path()).expect("could not open file"); let mut buf = String::new(); if let Err(e) = f.read_to_string(&mut buf) { println!("invalid file: {}", entry.path().to_str().unwrap()); continue; } let buf = pre_process::strip_irrelevant_content(&buf); pre_process::split_sections(&buf, &mut sections); println!("{}", sections[0].content); } }