fixes and cleanup
This commit is contained in:
@@ -7,7 +7,11 @@ use std::panic::AssertUnwindSafe;
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::{
|
||||
DbPool, api::ClientVersion, status::Channel, util::{cache::VideoCache, discord::send_discord_error_report, requester::Requester}, videos::{ServerOptions, VideoItem}
|
||||
DbPool,
|
||||
api::ClientVersion,
|
||||
status::Channel,
|
||||
util::{cache::VideoCache, discord::send_discord_error_report, requester::Requester},
|
||||
videos::{ServerOptions, VideoItem},
|
||||
};
|
||||
|
||||
pub mod all;
|
||||
@@ -24,27 +28,27 @@ pub mod pornhat;
|
||||
pub mod redtube;
|
||||
pub mod rule34video;
|
||||
// pub mod hentaimoon;
|
||||
pub mod beeg;
|
||||
pub mod missav;
|
||||
pub mod porn00;
|
||||
pub mod sxyprn;
|
||||
pub mod xxthots;
|
||||
pub mod omgxxx;
|
||||
pub mod paradisehill;
|
||||
pub mod porn00;
|
||||
pub mod pornzog;
|
||||
pub mod youjizz;
|
||||
pub mod beeg;
|
||||
pub mod sxyprn;
|
||||
pub mod tnaflix;
|
||||
pub mod xxthots;
|
||||
pub mod youjizz;
|
||||
// pub mod pornxp;
|
||||
pub mod rule34gen;
|
||||
pub mod xxdbx;
|
||||
pub mod hqporner;
|
||||
pub mod noodlemagazine;
|
||||
pub mod pimpbunny;
|
||||
pub mod javtiful;
|
||||
pub mod hypnotube;
|
||||
pub mod chaturbate;
|
||||
pub mod freepornvideosxxx;
|
||||
pub mod hentaihaven;
|
||||
pub mod chaturbate;
|
||||
pub mod hqporner;
|
||||
pub mod hypnotube;
|
||||
pub mod javtiful;
|
||||
pub mod noodlemagazine;
|
||||
pub mod pimpbunny;
|
||||
pub mod rule34gen;
|
||||
pub mod xxdbx;
|
||||
// pub mod tube8;
|
||||
|
||||
// convenient alias
|
||||
@@ -53,47 +57,128 @@ pub type DynProvider = Arc<dyn Provider>;
|
||||
pub static ALL_PROVIDERS: Lazy<HashMap<&'static str, DynProvider>> = Lazy::new(|| {
|
||||
let mut m = HashMap::default();
|
||||
m.insert("all", Arc::new(all::AllProvider::new()) as DynProvider);
|
||||
m.insert("perverzija", Arc::new(perverzija::PerverzijaProvider::new()) as DynProvider);
|
||||
m.insert("hanime", Arc::new(hanime::HanimeProvider::new()) as DynProvider);
|
||||
m.insert("pornhub", Arc::new(pornhub::PornhubProvider::new()) as DynProvider);
|
||||
m.insert(
|
||||
"perverzija",
|
||||
Arc::new(perverzija::PerverzijaProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"hanime",
|
||||
Arc::new(hanime::HanimeProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"pornhub",
|
||||
Arc::new(pornhub::PornhubProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"rule34video",
|
||||
Arc::new(rule34video::Rule34videoProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert("redtube", Arc::new(redtube::RedtubeProvider::new()) as DynProvider);
|
||||
m.insert("okporn", Arc::new(okporn::OkpornProvider::new()) as DynProvider);
|
||||
m.insert("pornhat", Arc::new(pornhat::PornhatProvider::new()) as DynProvider);
|
||||
m.insert(
|
||||
"redtube",
|
||||
Arc::new(redtube::RedtubeProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"okporn",
|
||||
Arc::new(okporn::OkpornProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"pornhat",
|
||||
Arc::new(pornhat::PornhatProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"perfectgirls",
|
||||
Arc::new(perfectgirls::PerfectgirlsProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert("okxxx", Arc::new(okxxx::OkxxxProvider::new()) as DynProvider);
|
||||
m.insert("homoxxx", Arc::new(homoxxx::HomoxxxProvider::new()) as DynProvider);
|
||||
m.insert("missav", Arc::new(missav::MissavProvider::new()) as DynProvider);
|
||||
m.insert("xxthots", Arc::new(xxthots::XxthotsProvider::new()) as DynProvider);
|
||||
m.insert("sxyprn", Arc::new(sxyprn::SxyprnProvider::new()) as DynProvider);
|
||||
m.insert("porn00", Arc::new(porn00::Porn00Provider::new()) as DynProvider);
|
||||
m.insert("youjizz", Arc::new(youjizz::YoujizzProvider::new()) as DynProvider);
|
||||
m.insert(
|
||||
"okxxx",
|
||||
Arc::new(okxxx::OkxxxProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"homoxxx",
|
||||
Arc::new(homoxxx::HomoxxxProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"missav",
|
||||
Arc::new(missav::MissavProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"xxthots",
|
||||
Arc::new(xxthots::XxthotsProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"sxyprn",
|
||||
Arc::new(sxyprn::SxyprnProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"porn00",
|
||||
Arc::new(porn00::Porn00Provider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"youjizz",
|
||||
Arc::new(youjizz::YoujizzProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"paradisehill",
|
||||
Arc::new(paradisehill::ParadisehillProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert("pornzog", Arc::new(pornzog::PornzogProvider::new()) as DynProvider);
|
||||
m.insert("omgxxx", Arc::new(omgxxx::OmgxxxProvider::new()) as DynProvider);
|
||||
m.insert(
|
||||
"pornzog",
|
||||
Arc::new(pornzog::PornzogProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"omgxxx",
|
||||
Arc::new(omgxxx::OmgxxxProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert("beeg", Arc::new(beeg::BeegProvider::new()) as DynProvider);
|
||||
m.insert("tnaflix", Arc::new(tnaflix::TnaflixProvider::new()) as DynProvider);
|
||||
m.insert(
|
||||
"tnaflix",
|
||||
Arc::new(tnaflix::TnaflixProvider::new()) as DynProvider,
|
||||
);
|
||||
// m.insert("pornxp", Arc::new(pornxp::PornxpProvider::new()) as DynProvider);
|
||||
m.insert("rule34gen", Arc::new(rule34gen::Rule34genProvider::new()) as DynProvider);
|
||||
m.insert("xxdbx", Arc::new(xxdbx::XxdbxProvider::new()) as DynProvider);
|
||||
m.insert("hqporner", Arc::new(hqporner::HqpornerProvider::new()) as DynProvider);
|
||||
m.insert("pmvhaven", Arc::new(pmvhaven::PmvhavenProvider::new()) as DynProvider);
|
||||
m.insert("noodlemagazine", Arc::new(noodlemagazine::NoodlemagazineProvider::new()) as DynProvider);
|
||||
m.insert("pimpbunny", Arc::new(pimpbunny::PimpbunnyProvider::new()) as DynProvider);
|
||||
m.insert("javtiful", Arc::new(javtiful::JavtifulProvider::new()) as DynProvider);
|
||||
m.insert("hypnotube", Arc::new(hypnotube::HypnotubeProvider::new()) as DynProvider);
|
||||
m.insert("freepornvideosxxx", Arc::new(freepornvideosxxx::FreepornvideosxxxProvider::new()) as DynProvider);
|
||||
m.insert("hentaihaven", Arc::new(hentaihaven::HentaihavenProvider::new()) as DynProvider);
|
||||
m.insert("chaturbate", Arc::new(chaturbate::ChaturbateProvider::new()) as DynProvider);
|
||||
m.insert(
|
||||
"rule34gen",
|
||||
Arc::new(rule34gen::Rule34genProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"xxdbx",
|
||||
Arc::new(xxdbx::XxdbxProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"hqporner",
|
||||
Arc::new(hqporner::HqpornerProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"pmvhaven",
|
||||
Arc::new(pmvhaven::PmvhavenProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"noodlemagazine",
|
||||
Arc::new(noodlemagazine::NoodlemagazineProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"pimpbunny",
|
||||
Arc::new(pimpbunny::PimpbunnyProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"javtiful",
|
||||
Arc::new(javtiful::JavtifulProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"hypnotube",
|
||||
Arc::new(hypnotube::HypnotubeProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"freepornvideosxxx",
|
||||
Arc::new(freepornvideosxxx::FreepornvideosxxxProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"hentaihaven",
|
||||
Arc::new(hentaihaven::HentaihavenProvider::new()) as DynProvider,
|
||||
);
|
||||
m.insert(
|
||||
"chaturbate",
|
||||
Arc::new(chaturbate::ChaturbateProvider::new()) as DynProvider,
|
||||
);
|
||||
// m.insert("tube8", Arc::new(tube8::Tube8Provider::new()) as DynProvider);
|
||||
// add more here as you migrate them
|
||||
m
|
||||
@@ -159,7 +244,11 @@ pub fn report_provider_error_background(provider_name: &str, context: &str, msg:
|
||||
});
|
||||
}
|
||||
|
||||
pub fn requester_or_default(options: &ServerOptions, provider_name: &str, context: &str) -> Requester {
|
||||
pub fn requester_or_default(
|
||||
options: &ServerOptions,
|
||||
provider_name: &str,
|
||||
context: &str,
|
||||
) -> Requester {
|
||||
match options.requester.clone() {
|
||||
Some(requester) => requester,
|
||||
None => {
|
||||
@@ -173,7 +262,6 @@ pub fn requester_or_default(options: &ServerOptions, provider_name: &str, contex
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[async_trait]
|
||||
pub trait Provider: Send + Sync {
|
||||
async fn get_videos(
|
||||
|
||||
Reference in New Issue
Block a user