aboutsummaryrefslogtreecommitdiffstats
path: root/src/epub.rs
diff options
context:
space:
mode:
authorJames Campos <james.r.campos@gmail.com>2020-05-17 02:04:25 -0700
committerJames Campos <james.r.campos@gmail.com>2020-05-17 02:04:25 -0700
commit6100ffbfab86081fa1e9e033717c54b0edc99d08 (patch)
treeeb8d47e8d934f5fb575386377e9af0a552d6fc67 /src/epub.rs
parentd7ce4bdadb10ea4e70f8e48e2ddb990cf3087c49 (diff)
downloadbk-6100ffbfab86081fa1e9e033717c54b0edc99d08.tar.gz
readme, fmt
Diffstat (limited to 'src/epub.rs')
-rw-r--r--src/epub.rs35
1 files changed, 19 insertions, 16 deletions
diff --git a/src/epub.rs b/src/epub.rs
index fa5f33f..48263c2 100644
--- a/src/epub.rs
+++ b/src/epub.rs
@@ -18,21 +18,24 @@ impl Epub {
nav: Vec::new(),
chapters: Vec::new(),
};
- let (nav, chapters) = epub.get_nav().into_iter().filter_map(|(path, label)| {
- let xml = epub.get_text(&path);
- // https://github.com/RazrFalcon/roxmltree/issues/12
- // UnknownEntityReference for HTML entities
- let doc = Document::parse(&xml).unwrap();
- let body = doc.root_element().last_element_child().unwrap();
- let mut chapter = String::new();
- Epub::render(&mut chapter, body);
- if chapter.is_empty() {
- None
- } else {
- Some((label, chapter))
- }
- })
- .unzip();
+ let (nav, chapters) = epub
+ .get_nav()
+ .into_iter()
+ .filter_map(|(path, label)| {
+ let xml = epub.get_text(&path);
+ // https://github.com/RazrFalcon/roxmltree/issues/12
+ // UnknownEntityReference for HTML entities
+ let doc = Document::parse(&xml).unwrap();
+ let body = doc.root_element().last_element_child().unwrap();
+ let mut chapter = String::new();
+ Epub::render(&mut chapter, body);
+ if chapter.is_empty() {
+ None
+ } else {
+ Some((label, chapter))
+ }
+ })
+ .unzip();
epub.nav = nav;
epub.chapters = chapters;
Ok(epub)
@@ -99,7 +102,7 @@ impl Epub {
let doc = Document::parse(&xml).unwrap();
// zip expects unix path even on windows
let rootdir = match path.rfind('/') {
- Some(n) => &path[..n+1],
+ Some(n) => &path[..n + 1],
None => "",
};