pmvhaven category option

This commit is contained in:
Simon
2025-07-18 10:02:54 +00:00
parent 0b2e1478ea
commit 90f85dc6e8
3 changed files with 58 additions and 5 deletions

View File

@@ -189,7 +189,7 @@ impl HanimeProvider {
}
async fn get(&self, cache: VideoCache, pool: DbPool, page: u8, query: String, sort:String) -> Result<Vec<VideoItem>> {
let index = format!("{}:{}:{}", query, page, sort);
let index = format!("hanime:{}:{}:{}", query, page, sort);
let order_by = match sort.contains("."){
true => sort.split(".").collect::<Vec<&str>>()[0].to_string(),
false => "created_at_unix".to_string(),

View File

@@ -233,9 +233,21 @@ impl PmvhavenProvider {
}
}
async fn get(&self, cache: VideoCache, page: u8, category: String) -> Result<Vec<VideoItem>> {
let index = format!("pmvhaven:{}:{}", page, category);
let url = format!("{}/api/getmorevideos", self.url);
let request = PmvhavenRequest::new(page as u32);
let old_items = match cache.get(&url) {
let mut request = PmvhavenRequest::new(page as u32);
println!("Category: {}", category);
request = match category.as_str() {
"hypno" => { request.hypno(); request },
"pmv" => { request.pmv(); request },
"hmv" => { request.hmv(); request },
"tiktok" => { request.tiktok(); request },
"koreanbj" => { request.koreanbj(); request },
"other" => { request.other(); request },
_ => request,
};
let old_items = match cache.get(&index) {
Some((time, items)) => {
if time.elapsed().unwrap_or_default().as_secs() < 60 * 5 {
println!("Cache hit for URL: {}", url);
@@ -310,6 +322,7 @@ impl PmvhavenProvider {
Err("Failed to get Videos".into())
}
async fn query(&self, cache: VideoCache, page: u8, query: &str) -> Result<Vec<VideoItem>> {
let index = format!("pmvhaven:{}:{}", query, page);
let url = format!("{}/api/v2/search", self.url);
let request = PmvhavenSearch::new(query.to_string(),page as u32);
// Check our Video Cache. If the result is younger than 1 hour, we return it.