made loop after read

This commit is contained in:
Zastian Pretorius
2022-06-13 14:21:26 +01:00
parent beef0ed273
commit 76669dd440

View File

@@ -8,15 +8,20 @@ use std::process::{Command, ExitStatus};
use std::io::Result; use std::io::Result;
fn main() { fn main() {
let ln_url = search_ln(); let ln_url = search_ln();
let chapter_url = chapter_selector(&ln_url); let mut selected_page = 1;
let full_text = get_full_text(&chapter_url); loop {
//write full_text to file called temp.txt let chapter_url = chapter_selector(&ln_url, selected_page);
let mut file = File::create("/tmp/log_e").expect("Unable to create file"); selected_page = chapter_url.1;
file.write_all(full_text.as_bytes()).expect("Unable to write to file"); let full_text = get_full_text(&chapter_url.0);
//close file //write full_text to file called temp.txt
file.sync_all().expect("Unable to sync file"); let mut file = File::create("/tmp/log_e").expect("Unable to create file");
//open temp.txt in cat for user to read file.write_all(full_text.as_bytes()).expect("Unable to write to file");
let _com = open_bat(); //close file
file.sync_all().expect("Unable to sync file");
//open temp.txt in cat for user to read
let _com = open_bat();
print!("\x1B[2J\x1B[1;1H");
}
} }
fn search_ln()->String{ fn search_ln()->String{
@@ -60,14 +65,13 @@ fn search_ln()->String{
return "".to_string(); return "".to_string();
} }
fn chapter_selector(ln_url: &String)->String{ fn chapter_selector(ln_url: &String, mut selected_page: u32)->(String, u32){
let exit = false; let exit = false;
let mut selected_chapter = 1;
while exit == false{ while exit == false{
let ln_html = get_html(&ln_url); let ln_html = get_html(&ln_url);
let ln_id = get_ln_id(&ln_html); let ln_id = get_ln_id(&ln_html);
let ln_last_page = get_ln_last_page(&ln_html); let ln_last_page = get_ln_last_page(&ln_html);
let ln_page_html = page_selector(&ln_id,selected_chapter); let ln_page_html = page_selector(&ln_id,selected_page);
let ln_chapters = get_ln_chapters(&ln_page_html); let ln_chapters = get_ln_chapters(&ln_page_html);
let ln_chapters_urls = get_ln_chapters_urls(&ln_page_html); let ln_chapters_urls = get_ln_chapters_urls(&ln_page_html);
let mut count = 0; let mut count = 0;
@@ -85,12 +89,12 @@ fn chapter_selector(ln_url: &String)->String{
let mut chapter_number = String::new(); let mut chapter_number = String::new();
std::io::stdin().read_line(&mut chapter_number).expect("Failed to read line"); std::io::stdin().read_line(&mut chapter_number).expect("Failed to read line");
chapter_number = chapter_number.trim().to_string(); chapter_number = chapter_number.trim().to_string();
if chapter_number == "n" && selected_chapter < ln_last_page.parse::<u32>().unwrap() { if chapter_number == "n" && selected_page < ln_last_page.parse::<u32>().unwrap() {
selected_chapter += 1; selected_page += 1;
print!("\x1B[2J\x1B[1;1H"); print!("\x1B[2J\x1B[1;1H");
} }
else if chapter_number == "b" && selected_chapter > 1{ else if chapter_number == "b" && selected_page > 1{
selected_chapter -= 1; selected_page -= 1;
print!("\x1B[2J\x1B[1;1H"); print!("\x1B[2J\x1B[1;1H");
} }
else{ else{
@@ -98,10 +102,10 @@ fn chapter_selector(ln_url: &String)->String{
let chaprer_number = chaprer_number.parse::<usize>().unwrap(); let chaprer_number = chaprer_number.parse::<usize>().unwrap();
let chaprer_url = &ln_chapters_urls[chaprer_number]; let chaprer_url = &ln_chapters_urls[chaprer_number];
let chaprer_url = chaprer_url.trim().to_string(); let chaprer_url = chaprer_url.trim().to_string();
return chaprer_url; return (chaprer_url, selected_page);
} }
} }
return "".to_string(); return ("".to_string(),1);
} }
fn get_full_text(chapter_url: &String)->String{ fn get_full_text(chapter_url: &String)->String{