aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/main.rs b/src/main.rs
index e8c0375..34b00bb 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -43,10 +43,6 @@ fn main() {
for (i, result) in parse_mediawiki_dump::parse(input).enumerate() {
match result {
- Err(error) => {
- eprintln!("xml format error: {}", error);
- break;
- }
Ok(page) => {
if page.namespace == 0
&& match &page.format {
@@ -81,17 +77,27 @@ fn main() {
let mut header = Header::new_gnu();
header.set_size(html.as_bytes().len() as u64);
header.set_cksum();
- archive
- .append_data(&mut header, filename, html.as_bytes())
- .unwrap();
+ if let Err(e) = archive.append_data(&mut header, filename, html.as_bytes())
+ {
+ eprintln!("could not append to archive: {e}")
+ }
} else {
- let mut f = File::create(format!("out/{}", filename)).unwrap();
- f.write_all(html.as_bytes()).unwrap()
+ match File::create(format!("out/{}", filename)) {
+ Ok(mut f) => f.write_all(html.as_bytes()).unwrap(),
+ Err(e) => eprintln!("could not create file: {e}"),
+ }
}
- } else {
+ } else if args.verbose {
eprintln!("page ignored: {:?}", page.title);
}
}
+ Err(error) => {
+ eprintln!("xml format error: {}", error);
+ break;
+ }
+ }
+ if i % 10000 == 0 {
+ eprintln!("{i}")
}
if Some(i) == args.limit {
break;