mirror of
https://github.com/djibux/BoilR.git
synced 2026-09-01 05:53:41 +02:00
Do not search for more than 99 images at a time
This commit is contained in:
@@ -43,7 +43,7 @@ pub async fn download_images_for_users<'b>(
|
|||||||
let shortcut_info = get_shortcuts_for_user(user);
|
let shortcut_info = get_shortcuts_for_user(user);
|
||||||
async move {
|
async move {
|
||||||
let known_images = get_users_images(user).unwrap_or_default();
|
let known_images = get_users_images(user).unwrap_or_default();
|
||||||
let res = search_fo_to_download(
|
let res = search_for_images_to_download(
|
||||||
known_images,
|
known_images,
|
||||||
user.steam_user_data_folder.as_str(),
|
user.steam_user_data_folder.as_str(),
|
||||||
&shortcut_info.shortcuts,
|
&shortcut_info.shortcuts,
|
||||||
@@ -113,7 +113,7 @@ pub struct PublicGameResponse {
|
|||||||
data: Option<PublicGameResponseData>,
|
data: Option<PublicGameResponseData>,
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn search_fo_to_download(
|
async fn search_for_images_to_download(
|
||||||
known_images: Vec<String>,
|
known_images: Vec<String>,
|
||||||
user_data_folder: &str,
|
user_data_folder: &str,
|
||||||
shortcuts: &[ShortcutOwned],
|
shortcuts: &[ShortcutOwned],
|
||||||
@@ -196,36 +196,38 @@ async fn search_fo_to_download(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let image_search_result =
|
for image_ids in image_ids.chunks(99){
|
||||||
get_images_for_ids(client, &image_ids, &image_type, download_animated).await;
|
let image_search_result =
|
||||||
match image_search_result {
|
get_images_for_ids(client, &image_ids, &image_type, download_animated).await;
|
||||||
Ok(images) => {
|
match image_search_result {
|
||||||
let images = images
|
Ok(images) => {
|
||||||
.iter()
|
let images = images
|
||||||
.enumerate()
|
.iter()
|
||||||
.map(|(index, image)| (image, shortcuts[index], image_ids[index]));
|
.enumerate()
|
||||||
let download_for_this_type = stream::iter(images)
|
.map(|(index, image)| (image, shortcuts[index], image_ids[index]));
|
||||||
.filter_map(|(image, shortcut, game_id)| {
|
let download_for_this_type = stream::iter(images)
|
||||||
let path = grid_folder.join(image_type.file_name(shortcut.app_id));
|
.filter_map(|(image, shortcut, game_id)| {
|
||||||
async move {
|
let path = grid_folder.join(image_type.file_name(shortcut.app_id));
|
||||||
let image_url = match image {
|
async move {
|
||||||
Ok(img) => Some(img.url.clone()),
|
let image_url = match image {
|
||||||
Err(_) => get_steam_image_url(game_id, &image_type).await,
|
Ok(img) => Some(img.url.clone()),
|
||||||
};
|
Err(_) => get_steam_image_url(game_id, &image_type).await,
|
||||||
image_url.map(|url| ToDownload {
|
};
|
||||||
path,
|
image_url.map(|url| ToDownload {
|
||||||
url,
|
path,
|
||||||
app_name: shortcut.app_name.clone(),
|
url,
|
||||||
image_type,
|
app_name: shortcut.app_name.clone(),
|
||||||
})
|
image_type,
|
||||||
}
|
})
|
||||||
})
|
}
|
||||||
.collect::<Vec<ToDownload>>()
|
})
|
||||||
.await;
|
.collect::<Vec<ToDownload>>()
|
||||||
|
.await;
|
||||||
|
|
||||||
to_download.extend(download_for_this_type);
|
to_download.extend(download_for_this_type);
|
||||||
|
}
|
||||||
|
Err(err) => println!("Error getting images: {}", err),
|
||||||
}
|
}
|
||||||
Err(err) => println!("Error getting images: {}", err),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user