overhault to fix warnings etc
This commit is contained in:
119
src/api.rs
119
src/api.rs
@@ -17,11 +17,13 @@ use crate::providers::rule34video::Rule34videoProvider;
|
||||
// use crate::providers::spankbang::SpankbangProvider;
|
||||
use crate::util::cache::VideoCache;
|
||||
use crate::util::requester::Requester;
|
||||
use crate::{DbPool, db, providers::*, status::*, videos::*};
|
||||
use crate::{DbPool, db, status::*, videos::*};
|
||||
use cute::c;
|
||||
use std::sync::Arc;
|
||||
use crate::providers::{Provider, DynProvider, ALL_PROVIDERS};
|
||||
|
||||
#[derive(Debug)]
|
||||
struct ClientVersion {
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct ClientVersion {
|
||||
version: u32,
|
||||
subversion: u32,
|
||||
name: String,
|
||||
@@ -923,7 +925,7 @@ async fn status(req: HttpRequest) -> Result<impl web::Responder, web::Error> {
|
||||
cacheDuration: None,
|
||||
});
|
||||
|
||||
// porn00
|
||||
// noodlemagazine
|
||||
// status.add_channel(Channel {
|
||||
// id: "noodlemagazine".to_string(),
|
||||
// name: "Noodlemagazine".to_string(),
|
||||
@@ -1070,42 +1072,6 @@ async fn status(req: HttpRequest) -> Result<impl web::Responder, web::Error> {
|
||||
cacheDuration: None,
|
||||
});
|
||||
|
||||
status.add_channel(Channel{
|
||||
id: "omgxxx".to_string(),
|
||||
name: "OMG XXX".to_string(),
|
||||
description: "Free Porn Site".to_string(),
|
||||
premium: false,
|
||||
favicon: "https://www.google.com/s2/favicons?sz=64&domain=www.omg.xxx".to_string(),
|
||||
status: "active".to_string(),
|
||||
categories: vec![],
|
||||
options: vec![
|
||||
ChannelOption {
|
||||
id: "sort".to_string(),
|
||||
title: "Sort".to_string(),
|
||||
description: "Sort the Videos".to_string(), //"Sort the videos by Date or Name.".to_string(),
|
||||
systemImage: "list.number".to_string(),
|
||||
colorName: "blue".to_string(),
|
||||
options: vec![
|
||||
FilterOption {
|
||||
id: "latest-updates".to_string(),
|
||||
title: "Latest".to_string(),
|
||||
},
|
||||
FilterOption {
|
||||
id: "most-popular".to_string(),
|
||||
title: "Most Viewed".to_string(),
|
||||
},
|
||||
FilterOption {
|
||||
id: "top-rated".to_string(),
|
||||
title: "Top Rated".to_string(),
|
||||
},
|
||||
],
|
||||
multiSelect: false,
|
||||
}
|
||||
],
|
||||
nsfw: true,
|
||||
cacheDuration: None,
|
||||
});
|
||||
|
||||
if clientversion >= ClientVersion::new(22, 105, "22i".to_string()) {
|
||||
//sxyprn
|
||||
status.add_channel(Channel {
|
||||
@@ -1170,6 +1136,14 @@ async fn status(req: HttpRequest) -> Result<impl web::Responder, web::Error> {
|
||||
cacheDuration: Some(1800),
|
||||
});
|
||||
}
|
||||
|
||||
for provider in ALL_PROVIDERS.values() {
|
||||
println!(
|
||||
"Loaded provider (dyn): {:?}",
|
||||
std::any::type_name::<&dyn Provider>()
|
||||
);
|
||||
status.add_channel(provider.get_channel(clientversion.clone()));
|
||||
}
|
||||
status.iconUrl = format!("http://{}/favicon.ico", host).to_string();
|
||||
Ok(web::HttpResponse::Ok().json(&status))
|
||||
}
|
||||
@@ -1296,54 +1270,35 @@ async fn videos_post(
|
||||
Ok(web::HttpResponse::Ok().json(&videos))
|
||||
}
|
||||
|
||||
pub fn get_provider(channel: &str) -> Option<AnyProvider> {
|
||||
pub fn get_provider(channel: &str) -> Option<DynProvider> {
|
||||
match channel {
|
||||
"all" => Some(AnyProvider::All(AllProvider::new())),
|
||||
"perverzija" => Some(AnyProvider::Perverzija(PerverzijaProvider::new())),
|
||||
"hanime" => Some(AnyProvider::Hanime(HanimeProvider::new())),
|
||||
// "spankbang" => Some(AnyProvider::Spankbang(SpankbangProvider::new())),
|
||||
"pornhub" => Some(AnyProvider::Pornhub(PornhubProvider::new())),
|
||||
"pmvhaven" => Some(AnyProvider::Pmvhaven(PmvhavenProvider::new())),
|
||||
"rule34video" => Some(AnyProvider::Rule34video(Rule34videoProvider::new())),
|
||||
"redtube" => Some(AnyProvider::Redtube(RedtubeProvider::new())),
|
||||
"okporn" => Some(AnyProvider::Okporn(OkpornProvider::new())),
|
||||
"pornhat" => Some(AnyProvider::Pornhat(
|
||||
crate::providers::pornhat::PornhatProvider::new(),
|
||||
)),
|
||||
"perfectgirls" => Some(AnyProvider::Perfectgirls(
|
||||
"all" => Some(Arc::new(AllProvider::new())),
|
||||
"perverzija" => Some(Arc::new(PerverzijaProvider::new())),
|
||||
"hanime" => Some(Arc::new(HanimeProvider::new())),
|
||||
"pornhub" => Some(Arc::new(PornhubProvider::new())),
|
||||
"pmvhaven" => Some(Arc::new(PmvhavenProvider::new())),
|
||||
"rule34video" => Some(Arc::new(Rule34videoProvider::new())),
|
||||
"redtube" => Some(Arc::new(RedtubeProvider::new())),
|
||||
"okporn" => Some(Arc::new(OkpornProvider::new())),
|
||||
"pornhat" => Some(Arc::new(crate::providers::pornhat::PornhatProvider::new())),
|
||||
"perfectgirls" => Some(Arc::new(
|
||||
crate::providers::perfectgirls::PerfectgirlsProvider::new(),
|
||||
)),
|
||||
"okxxx" => Some(AnyProvider::Okxxx(
|
||||
crate::providers::okxxx::OkxxxProvider::new(),
|
||||
)),
|
||||
"homoxxx" => Some(AnyProvider::Homoxxx(
|
||||
crate::providers::homoxxx::HomoxxxProvider::new(),
|
||||
)),
|
||||
// "hentaimoon" => Some(AnyProvider::Hentaimoon(crate::providers::hentaimoon::HentaimoonProvider::new())),
|
||||
"missav" => Some(AnyProvider::Missav(
|
||||
crate::providers::missav::MissavProvider::new(),
|
||||
)),
|
||||
"xxthots" => Some(AnyProvider::Xxthots(
|
||||
crate::providers::xxthots::XxthotsProvider::new(),
|
||||
)),
|
||||
"sxyprn" => Some(AnyProvider::Sxyprn(
|
||||
crate::providers::sxyprn::SxyprnProvider::new(),
|
||||
)),
|
||||
"porn00" => Some(AnyProvider::Porn00(
|
||||
crate::providers::porn00::Porn00Provider::new(),
|
||||
)),
|
||||
// "noodlemagazine" => Some(AnyProvider::Noodlemagazine(crate::providers::noodlemagazine::NoodlemagazineProvider::new())),
|
||||
"freshporno" => Some(AnyProvider::Freshporno(
|
||||
"okxxx" => Some(Arc::new(crate::providers::okxxx::OkxxxProvider::new())),
|
||||
"homoxxx" => Some(Arc::new(crate::providers::homoxxx::HomoxxxProvider::new())),
|
||||
"missav" => Some(Arc::new(crate::providers::missav::MissavProvider::new())),
|
||||
"xxthots" => Some(Arc::new(crate::providers::xxthots::XxthotsProvider::new())),
|
||||
"sxyprn" => Some(Arc::new(crate::providers::sxyprn::SxyprnProvider::new())),
|
||||
"porn00" => Some(Arc::new(crate::providers::porn00::Porn00Provider::new())),
|
||||
"freshporno" => Some(Arc::new(
|
||||
crate::providers::freshporno::FreshpornoProvider::new(),
|
||||
)),
|
||||
"youjizz" => Some(AnyProvider::Youjizz(
|
||||
crate::providers::youjizz::YoujizzProvider::new(),
|
||||
)),
|
||||
"paradisehill" => Some(AnyProvider::Paradisehill(
|
||||
"youjizz" => Some(Arc::new(crate::providers::youjizz::YoujizzProvider::new())),
|
||||
"paradisehill" => Some(Arc::new(
|
||||
crate::providers::paradisehill::ParadisehillProvider::new(),
|
||||
)),
|
||||
"pornzog" => Some(AnyProvider::Pornzog(crate::providers::pornzog::PornzogProvider::new())),
|
||||
"omgxxx" => Some(AnyProvider::Omgxxx(crate::providers::omgxxx::OmgxxxProvider::new())),
|
||||
_ => Some(AnyProvider::Perverzija(PerverzijaProvider::new())),
|
||||
"pornzog" => Some(Arc::new(crate::providers::pornzog::PornzogProvider::new())),
|
||||
// fallback to the dynamic registry
|
||||
x => ALL_PROVIDERS.get(x).cloned(),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user