implemented hanime

This commit is contained in:
Simon
2025-06-04 18:33:49 +00:00
parent 3150e57411
commit d7fc427696
5 changed files with 231 additions and 301 deletions

View File

@@ -1,6 +1,21 @@
use crate::{util::cache::VideoCache, videos::Video_Item};
use crate::{providers::{hanime::HanimeProvider, perverzija::PerverzijaProvider}, util::cache::VideoCache, videos::Video_Item};
pub mod perverzija;
pub mod hanime;
pub trait Provider{
async fn get_videos(&self, cache: VideoCache ,channel: String, sort: String, query: Option<String>, page: String, per_page: String, featured: String) -> Vec<Video_Item>;
}
}
pub enum AnyProvider {
Perverzija(PerverzijaProvider),
Hanime(HanimeProvider),
}
impl Provider for AnyProvider {
async fn get_videos(&self, cache: VideoCache ,channel: String, sort: String, query: Option<String>, page: String, per_page: String, featured: String) -> Vec<Video_Item> {
match self {
AnyProvider::Perverzija(p) => p.get_videos(cache ,channel, sort, query, page, per_page, featured).await,
AnyProvider::Hanime(p) => p.get_videos(cache ,channel, sort, query, page, per_page, featured).await,
}
}
}