diff --git a/src/html_module.rs b/src/html_module.rs
index d6b17e6..51d92b7 100644
--- a/src/html_module.rs
+++ b/src/html_module.rs
@@ -13,10 +13,10 @@ Last edited: 5/19/23
- convert html module to python script, use python version of soup
- convert html by hand(absolutely not)
*/
-use soup::{NodeExt, QueryBuilderExt, Soup};
+use soup::{Soup};
pub fn main(content: String) -> String {
- let mut str_content = content;
+ let str_content = content;
let soup = Soup::new(&str_content);
let page = soup.text();
return page;
diff --git a/src/main.rs b/src/main.rs
index d05264f..4e075a4 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -11,35 +11,71 @@ Last edited: 5/19/23
mod html_module;
use epub::doc::EpubDoc; //library for navigating epubs
use std::env;
-use std::io;
-
+use std::process::exit;
//initial function. Reads the ebook passed by argument.
//TODO: add visual library to pull up ebooks.
fn main() {
- let args: Vec = env::args().collect();
- let filename = &args[1];
- epub_func(filename);
+
+ if env::args().len() == 1 {
+ println!("you need to enter a book. Closing program.");
+ }
+ else {
+ let args: Vec = env::args().collect();
+ let filename = &args[1];
+ epub_func(filename);
+ }
}
//parses epub files
fn epub_func(epub_file: &str){
- //let item_count = 1;
+
let doc = EpubDoc::new(&epub_file);
assert!(doc.is_ok());
let mut doc = doc.unwrap();
- doc.set_current_page(1).expect("end of book");
- let mut content = doc.get_current_str();
- let mut str_content = content.unwrap();
+ let mut page_num = 1;
+ let is_reading = true;
+ while is_reading == true {
+ let mut next_or_last = String::new();
+ doc.set_current_page(page_num).expect("end of book");
+ let content = doc.get_current_str();
+ let str_content = content.unwrap();
+ let page = html_module::main(str_content);
+ println!("{}", page);
- let page = html_module::main(str_content);
- println!("{}", page);
-
+ let input_size = std::io::stdin().read_line(&mut next_or_last);
+ let input_size_len = input_size.unwrap() - 1;
+ if input_size_len == 1{
+ let compare = next_or_last.as_bytes();
+ if compare[0] == 110 {
+ page_num = page_num + 1;
+ }
+ else if compare[0] == 98 {
+ //if page number equals one then you are at the beginning of the book.
+ if page_num == 1 {
+ println!("at beginning of book.");
+ }
+ else {
+ page_num = page_num - 1;
+ }
+ }
+ else if compare[0] == 113 {
+ println!("quitting...");
+ exit(0);
+ }
+ else {
+ println!("did not understand command.");
+ }
+ }
+ else {
+ println!("Do not understand input. Try again.");
+ }
+ }
}