missav fix in place
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -18,4 +18,5 @@ Cargo.lock
|
||||
*.db
|
||||
migrations/.keep
|
||||
.mcp.json
|
||||
*.mp4*
|
||||
*.mp4*
|
||||
prompts/new-channel.md
|
||||
|
||||
@@ -12,7 +12,7 @@ use crate::videos::VideoItem;
|
||||
use async_trait::async_trait;
|
||||
use diesel::r2d2;
|
||||
use error_chain::error_chain;
|
||||
use futures::future::join_all;
|
||||
use futures::stream::{self, StreamExt};
|
||||
use htmlentity::entity::{ICodedDataTrait, decode};
|
||||
use std::collections::HashMap;
|
||||
use std::sync::{Arc, RwLock};
|
||||
@@ -357,14 +357,16 @@ impl MissavProvider {
|
||||
}
|
||||
}
|
||||
|
||||
let futures = urls
|
||||
.into_iter()
|
||||
.map(|url| self.get_video_item(url, pool.clone(), requester.clone()));
|
||||
join_all(futures)
|
||||
.await
|
||||
.into_iter()
|
||||
.filter_map(Result::ok)
|
||||
.collect()
|
||||
stream::iter(urls.into_iter().map(|url| {
|
||||
let pool = pool.clone();
|
||||
let requester = requester.clone();
|
||||
let provider = self.clone();
|
||||
async move { provider.get_video_item(url, pool, requester).await }
|
||||
}))
|
||||
.buffer_unordered(4)
|
||||
.filter_map(|result| async move { result.ok() })
|
||||
.collect::<Vec<_>>()
|
||||
.await
|
||||
}
|
||||
|
||||
async fn get_video_item(
|
||||
|
||||
Reference in New Issue
Block a user