missav bugfixes

This commit is contained in:
Simon
2025-12-04 11:54:31 +00:00
parent e22a3f2d6d
commit 75e28608bd

View File

@@ -3,6 +3,7 @@ use async_trait::async_trait;
use error_chain::error_chain;
use htmlentity::entity::{decode, ICodedDataTrait};
use futures::future::join_all;
use wreq::Version;
use crate::db;
use crate::providers::Provider;
use crate::util::cache::VideoCache;
@@ -30,14 +31,16 @@ impl MissavProvider {
url: "https://missav.ws".to_string()
}
}
async fn get(&self, cache:VideoCache, pool:DbPool, page: u8, sort: String, options: ServerOptions) -> Result<Vec<VideoItem>> {
async fn get(&self, cache:VideoCache, pool:DbPool, page: u8, mut sort: String, options: ServerOptions) -> Result<Vec<VideoItem>> {
// Extract needed fields from options at the start
let language = options.language.clone().unwrap();
let filter = options.filter.clone().unwrap();
let mut requester = options.requester.clone().unwrap();
let url_str = format!("{}/{}/{}?page={}&sort={}", self.url, language, filter, page, sort);
if !sort.is_empty(){
sort = format!("&sort={}", sort);
}
let url_str = format!("{}/{}/{}?page={}{}", self.url, language, filter, page, sort);
let old_items = match cache.get(&url_str) {
Some((time, items)) => {
@@ -53,7 +56,7 @@ impl MissavProvider {
}
};
let text = requester.get(&url_str, None).await.unwrap();
let text = requester.get(&url_str, Some(Version::HTTP_2)).await.unwrap();
// Pass a reference to options if needed, or reconstruct as needed
let video_items: Vec<VideoItem> = self.get_video_items_from_html(text.clone(), pool, requester).await;
if !video_items.is_empty() {
@@ -148,7 +151,7 @@ impl MissavProvider {
}
}
drop(conn);
let vid = requester.get(&url_str, None).await.unwrap();
let vid = requester.get(&url_str, Some(Version::HTTP_2)).await.unwrap();
let mut title = vid.split("<meta property=\"og:title\" content=\"").collect::<Vec<&str>>()[1]
.split("\"")
.collect::<Vec<&str>>()[0].trim()