sorting for hanime
This commit is contained in:
@@ -198,9 +198,10 @@ impl HanimeProvider {
|
||||
|
||||
}
|
||||
|
||||
async fn get(&self, cache: VideoCache, pool: DbPool, page: u8, query: String) -> Result<Vec<Video_Item>> {
|
||||
let index = format!("{}:{}", query, page);
|
||||
|
||||
async fn get(&self, cache: VideoCache, pool: DbPool, page: u8, query: String, sort:String) -> Result<Vec<Video_Item>> {
|
||||
let index = format!("{}:{}:{}", query, page, sort);
|
||||
let order_by = sort.split(".").collect::<Vec<&str>>()[0].to_string();
|
||||
let ordering = sort.split(".").collect::<Vec<&str>>()[1].to_string();
|
||||
let old_items = match cache.get(&index) {
|
||||
Some((time, items)) => {
|
||||
if time.elapsed().unwrap_or_default().as_secs() < 60 * 60 * 12 {
|
||||
@@ -216,7 +217,11 @@ impl HanimeProvider {
|
||||
}
|
||||
};
|
||||
|
||||
let search = HanimeSearchRequest::new().page(page-1).search_text(query.clone());
|
||||
let search = HanimeSearchRequest::new()
|
||||
.page(page-1)
|
||||
.search_text(query.clone())
|
||||
.order_by(order_by)
|
||||
.ordering(ordering);
|
||||
let client = match env::var("BURP_URL").as_deref() {
|
||||
Ok(burp_url) =>
|
||||
reqwest::Client::builder()
|
||||
@@ -277,9 +282,10 @@ impl Provider for HanimeProvider {
|
||||
let _ = featured;
|
||||
let _ = per_page;
|
||||
let _ = sort;
|
||||
println!("Sort: {:?}", sort);
|
||||
let videos: std::result::Result<Vec<Video_Item>, Error> = match query {
|
||||
Some(q) => self.get(cache, pool, page.parse::<u8>().unwrap_or(1), q).await,
|
||||
None => self.get(cache, pool, page.parse::<u8>().unwrap_or(1), "".to_string()).await,
|
||||
Some(q) => self.get(cache, pool, page.parse::<u8>().unwrap_or(1), q, sort).await,
|
||||
None => self.get(cache, pool, page.parse::<u8>().unwrap_or(1), "".to_string(), sort).await,
|
||||
};
|
||||
match videos {
|
||||
Ok(v) => v,
|
||||
|
||||
Reference in New Issue
Block a user