Skip to main content

epubie_lib/
lib.rs

1pub mod epub;
2
3pub use epub::Epub;
4
5pub fn add(left: u64, right: u64) -> u64 {
6    left + right
7}
8
9#[cfg(test)]
10mod tests {
11
12    use crate::epub::Epub;
13
14    #[test]
15    fn example_epub() {
16        let path = "./example-files/iia.epub";
17
18        match Epub::new(path.to_string()) {
19            Ok(epub) => {
20                for (i, entry) in epub.get_chapters().iter().enumerate() {
21                    println!(c
22                        "Chapter {}: {} ({} file{})",
23                        i + 1,
24                        entry.get_title(),
25                        entry.get_file_count(),
26                        if entry.get_file_count() == 1 { "" } else { "s" }
27                    );
28
29                    for (j, file) in entry.get_files().iter().enumerate() {
30                        println!(
31                            "  File {}: {} ({})",
32                            j + 1,
33                            file.get_title().unwrap_or("No title"),
34                            file.get_href()
35                        );
36                    }
37                }
38            }
39            Err(e) => {
40                eprintln!("Error parsing EPUB: {}", e);
41            }
42        }
43    }
44}