1pub mod download;
2pub mod input_handler;
3pub mod parser;
4pub mod scraper;
5pub mod utils;
6
7pub static URL: &str = "https://anitaku.bz/";
8pub static SEARCH_URL: &str = "https://anitaku.bz/search.html?keyword=";
9pub static CAT_URL: &str = "https://anitaku.bz/category/";
10
11pub async fn get_anime_list_by_name(anime_name: String) -> (Vec<String>, Vec<String>, Vec<String>) {
21 let trimmed_name = input_handler::trim(anime_name);
22 let url = format!("{}{}", SEARCH_URL, trimmed_name);
23 let body = utils::get_html(url)
24 .await
25 .expect("An error has occured, please verify if you are connected to the internet");
26 get_anime_info(body)
27}
28
29pub fn get_anime_info(body: String) -> (Vec<String>, Vec<String>, Vec<String>) {
30 let anime_url = parser::get_anime_url(body.clone());
31 let anime_name = parser::get_anime_name(body.clone());
32 let anime_images = parser::get_anime_images(body);
33 (anime_url, anime_name, anime_images)
34}
35
36pub async fn download_anime_episodes(
37 anime_url_ending: String,
38 path: &str,
39) -> Result<(), Box<dyn std::error::Error>> {
40 scraper::get_anime_episodes_and_download_the_episodes(anime_url_ending, path).await
41}
42
43pub fn get_anime_details(body: String) -> (Vec<String>, Vec<String>) {
44 let anime_url = parser::get_anime_url(body.clone());
45 let anime_name = parser::get_anime_name(body);
46 (anime_url, anime_name)
47}