mirror of
https://github.com/flibusta-apps/batch_downloader.git
synced 2025-12-06 06:15:37 +01:00
Fix
This commit is contained in:
@@ -93,8 +93,11 @@ pub async fn set_progress_description(key: String, description: String) {
|
|||||||
|
|
||||||
pub async fn upload_to_minio(
|
pub async fn upload_to_minio(
|
||||||
archive: SpooledTempFile,
|
archive: SpooledTempFile,
|
||||||
|
folder_name: String,
|
||||||
filename: String,
|
filename: String,
|
||||||
) -> Result<(String, u64), Box<dyn std::error::Error + Send + Sync>> {
|
) -> Result<(String, u64), Box<dyn std::error::Error + Send + Sync>> {
|
||||||
|
let full_filename = format!("{}/{}", folder_name, filename);
|
||||||
|
|
||||||
let minio = get_minio();
|
let minio = get_minio();
|
||||||
|
|
||||||
let is_bucket_exist = match minio.bucket_exists(&config::CONFIG.minio_bucket).await {
|
let is_bucket_exist = match minio.bucket_exists(&config::CONFIG.minio_bucket).await {
|
||||||
@@ -111,7 +114,7 @@ pub async fn upload_to_minio(
|
|||||||
if let Err(err) = minio
|
if let Err(err) = minio
|
||||||
.put_object_stream(
|
.put_object_stream(
|
||||||
&config::CONFIG.minio_bucket,
|
&config::CONFIG.minio_bucket,
|
||||||
filename.clone(),
|
full_filename.clone(),
|
||||||
Box::pin(data_stream),
|
Box::pin(data_stream),
|
||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
@@ -123,7 +126,7 @@ pub async fn upload_to_minio(
|
|||||||
let link = match minio
|
let link = match minio
|
||||||
.presigned_get_object(PresignedArgs::new(
|
.presigned_get_object(PresignedArgs::new(
|
||||||
&config::CONFIG.minio_bucket,
|
&config::CONFIG.minio_bucket,
|
||||||
filename.clone(),
|
full_filename.clone(),
|
||||||
))
|
))
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
@@ -134,7 +137,7 @@ pub async fn upload_to_minio(
|
|||||||
};
|
};
|
||||||
|
|
||||||
let obj_size = match minio
|
let obj_size = match minio
|
||||||
.stat_object(&config::CONFIG.minio_bucket, filename.clone())
|
.stat_object(&config::CONFIG.minio_bucket, full_filename.clone())
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
Ok(v) => v.unwrap().size().try_into().unwrap(),
|
Ok(v) => v.unwrap().size().try_into().unwrap(),
|
||||||
@@ -198,7 +201,7 @@ pub async fn create_archive_task(key: String, data: CreateTask) {
|
|||||||
ObjectType::Sequence => {
|
ObjectType::Sequence => {
|
||||||
get_books(
|
get_books(
|
||||||
data.object_id,
|
data.object_id,
|
||||||
data.allowed_langs,
|
data.allowed_langs.clone(),
|
||||||
get_sequence_books,
|
get_sequence_books,
|
||||||
data.file_format.clone(),
|
data.file_format.clone(),
|
||||||
)
|
)
|
||||||
@@ -207,7 +210,7 @@ pub async fn create_archive_task(key: String, data: CreateTask) {
|
|||||||
ObjectType::Author => {
|
ObjectType::Author => {
|
||||||
get_books(
|
get_books(
|
||||||
data.object_id,
|
data.object_id,
|
||||||
data.allowed_langs,
|
data.allowed_langs.clone(),
|
||||||
get_author_books,
|
get_author_books,
|
||||||
data.file_format.clone(),
|
data.file_format.clone(),
|
||||||
)
|
)
|
||||||
@@ -216,7 +219,7 @@ pub async fn create_archive_task(key: String, data: CreateTask) {
|
|||||||
ObjectType::Translator => {
|
ObjectType::Translator => {
|
||||||
get_books(
|
get_books(
|
||||||
data.object_id,
|
data.object_id,
|
||||||
data.allowed_langs,
|
data.allowed_langs.clone(),
|
||||||
get_translator_books,
|
get_translator_books,
|
||||||
data.file_format.clone(),
|
data.file_format.clone(),
|
||||||
)
|
)
|
||||||
@@ -264,7 +267,14 @@ pub async fn create_archive_task(key: String, data: CreateTask) {
|
|||||||
|
|
||||||
set_progress_description(key.clone(), "Загрузка архива...".to_string()).await;
|
set_progress_description(key.clone(), "Загрузка архива...".to_string()).await;
|
||||||
|
|
||||||
let (link, content_size) = match upload_to_minio(archive_result, final_filename.clone()).await {
|
let folder_name = {
|
||||||
|
let mut langs = data.allowed_langs.clone();
|
||||||
|
langs.sort();
|
||||||
|
langs.join("_")
|
||||||
|
};
|
||||||
|
|
||||||
|
let (link, content_size) =
|
||||||
|
match upload_to_minio(archive_result, folder_name, final_filename.clone()).await {
|
||||||
Ok(v) => v,
|
Ok(v) => v,
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
set_task_error(key.clone(), "Failed uploading archive!".to_string()).await;
|
set_task_error(key.clone(), "Failed uploading archive!".to_string()).await;
|
||||||
|
|||||||
Reference in New Issue
Block a user