fixed bug where you could not watch the last episode

This commit is contained in:
Zastian Pretorius
2022-07-11 16:26:08 +01:00
parent 7c8ec33d05
commit 40e308dab4
4 changed files with 19 additions and 14 deletions

View File

@@ -1,4 +1,4 @@
use crate::{string_input,int_input,u16_input}; use crate::{string_input,int_input};
use crate::{anime_names,anime_ep_range,anime_link}; use crate::{anime_names,anime_ep_range,anime_link};
use crate::open_video; use crate::open_video;
use crate::main; use crate::main;
@@ -30,9 +30,9 @@ pub fn anime_stream(){
count += 1; count += 1;
}); });
let mut anime_num: usize = usize::MAX; let mut anime_num: usize = usize::MAX;
while anime_num == usize::max_value() || anime_num >= anime_list.len() { while anime_num == usize::max_value() || anime_num > anime_list.len() {
anime_num = int_input("Enter anime number: "); anime_num = int_input("Enter anime number: ");
if anime_num >= anime_list.len() { if anime_num > anime_list.len() {
println!("Invalid anime number"); println!("Invalid anime number");
} }
} }
@@ -47,9 +47,9 @@ pub fn anime_stream(){
loop{ loop{
println!("select episode 1-{}: ", ep_range); println!("select episode 1-{}: ", ep_range);
let mut ep_num: usize = usize::MAX; let mut ep_num: usize = usize::MAX;
while ep_num == usize::max_value() || ep_num >= ep_range as usize { while ep_num == usize::max_value() || ep_num > ep_range as usize {
ep_num = int_input("Enter episode number: "); ep_num = int_input("Enter episode number: ");
if ep_num >= ep_range as usize { if ep_num > ep_range as usize {
println!("Invalid episode number"); println!("Invalid episode number");
} }
} }

View File

@@ -1,7 +1,7 @@
use std::fs::File; use std::fs::File;
use std::io::Write; use std::io::Write;
use crate::{search_ln,chapter_selector,get_full_text,open_bat}; use crate::{search_ln,chapter_selector,get_full_text,open_bat};
pub fn ln(){ pub fn ln_read(){
let ln_url = search_ln(); let ln_url = search_ln();
let mut selected_page = 1; let mut selected_page = 1;
loop { loop {

View File

@@ -11,8 +11,7 @@ use crate::{
}; };
pub fn chapter_selector(ln_url: &str, mut selected_page: u32) -> (String, u32) { pub fn chapter_selector(ln_url: &str, mut selected_page: u32) -> (String, u32) {
let exit = false; loop {
while exit == false {
let ln_html = ln::scraper::get_html(ln_url); let ln_html = ln::scraper::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);
@@ -42,11 +41,17 @@ pub fn chapter_selector(ln_url: &str, mut selected_page: u32) -> (String, u32) {
main(); main();
} else { } else {
let chapter_number = chapter_number.trim().to_string(); let chapter_number = chapter_number.trim().to_string();
let chapter_number = chapter_number.parse::<usize>().unwrap(); let mut chapter_number_int = 0;
let chapter_url = &ln_chapters_urls[chapter_number]; if chapter_number.parse::<u32>().is_ok() {
chapter_number_int = chapter_number.parse::<u32>().unwrap();
} else {
println!("{}", "Invalid chapter number".red());
continue;
}
//let chapter_number = chapter_number.parse::<usize>().unwrap();
let chapter_url = &ln_chapters_urls[chapter_number_int as usize];
let chapter_url = chapter_url.trim().to_string(); let chapter_url = chapter_url.trim().to_string();
return (chapter_url, selected_page); return (chapter_url, selected_page);
} }
} }
("".to_string(), 1)
} }

View File

@@ -1,12 +1,12 @@
use crate::anime::anime::anime_stream; use crate::anime::anime::anime_stream;
use crate::anime::scraper::{anime_ep_range, anime_link, anime_names}; use crate::anime::scraper::{anime_ep_range, anime_link, anime_names};
use crate::ln::ln::ln; use crate::ln::ln::ln_read;
use crate::ln::menu::chapter_selector; use crate::ln::menu::chapter_selector;
use crate::ln::open_text::open_bat; use crate::ln::open_text::open_bat;
use crate::ln::scraper::get_full_text; use crate::ln::scraper::get_full_text;
use crate::{ use crate::{
anime::player::open_video, anime::player::open_video,
helpers::take_input::{int_input, string_input, u16_input}, helpers::take_input::{int_input, string_input},
ln::search::search_ln, ln::search::search_ln,
}; };
use colored::Colorize; use colored::Colorize;
@@ -30,7 +30,7 @@ fn main() {
std::process::exit(0); std::process::exit(0);
} }
if _arg == "l" { if _arg == "l" {
ln(); ln_read();
} else if _arg == "a" { } else if _arg == "a" {
anime_stream() anime_stream()
} else { } else {