mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-03 17:08:13 +00:00
fix api bug
This commit is contained in:
1 parent
48043fb602
commit
5321eb145d
2 files changed
+22
-19
No files matched your search
+6
-15
@@ -1,7 +1,9 @@
|
||||
use crate::job::job_loop::job_success_result::{JobSuccessResult, ResultEntity};
|
||||
use crate::job::job_loop::process_single_job_error::ProcessSingleJobError;
|
||||
use crate::job::job_types::studio_gen2::download_file_for_studio::{download_file_for_studio, DownloadFileForStudioArgs};
|
||||
use crate::job::job_types::studio_gen2::stable_animator_command::InferenceArgs;
|
||||
use crate::job::job_types::studio_gen2::studio_gen2_dirs::StudioGen2Dirs;
|
||||
use crate::job::job_types::studio_gen2::validate_and_save_results::{validate_and_save_results, SaveResultsArgs};
|
||||
use crate::job::job_types::workflow::face_fusion::process_face_fusion_job::process_face_fusion_job;
|
||||
use crate::job::job_types::workflow::live_portrait::process_live_portrait_job::process_live_portrait_job;
|
||||
use crate::job::job_types::workflow::video_style_transfer::process_video_style_transfer_job::process_video_style_transfer_job;
|
||||
@@ -24,11 +26,15 @@ use cloud_storage::remote_file_manager::remote_cloud_file_manager::RemoteCloudFi
|
||||
use enums::by_table::generic_inference_jobs::inference_job_type::InferenceJobType;
|
||||
use enums::by_table::generic_inference_jobs::inference_result_type::InferenceResultType;
|
||||
use filesys::check_file_exists::check_file_exists;
|
||||
use filesys::create_dir_all_if_missing::create_dir_all_if_missing;
|
||||
use filesys::file_deletion::safe_delete_possible_files_and_directories::safe_delete_possible_files_and_directories;
|
||||
use filesys::file_deletion::safe_recursively_delete_files::safe_recursively_delete_files;
|
||||
use filesys::path_to_string::path_to_string;
|
||||
use images::image::io::Reader;
|
||||
use images::resize_preserving_aspect::resize_preserving_aspect;
|
||||
use log::{error, info, warn};
|
||||
use mysql_queries::payloads::generic_inference_args::generic_inference_args::PolymorphicInferenceArgs::{Cu, S2};
|
||||
use mysql_queries::payloads::generic_inference_args::inner_payloads::studio_gen2_payload::StudioGen2Payload;
|
||||
use mysql_queries::queries::generic_inference::job::list_available_generic_inference_jobs::AvailableInferenceJob;
|
||||
use mysql_queries::queries::model_weights::get::get_weight::get_weight_by_token_with_transactor;
|
||||
use mysql_queries::utils::transactor::Transactor;
|
||||
@@ -40,28 +46,13 @@ use std::time::{Duration, Instant};
|
||||
use tokens::tokens::media_files::MediaFileToken;
|
||||
use tokio::sync::oneshot;
|
||||
use tokio::sync::oneshot::channel;
|
||||
use filesys::create_dir_all_if_missing::create_dir_all_if_missing;
|
||||
use images::image::io::Reader;
|
||||
use images::resize_preserving_aspect::resize_preserving_aspect;
|
||||
use mysql_queries::payloads::generic_inference_args::inner_payloads::studio_gen2_payload::StudioGen2Payload;
|
||||
use videos::ffprobe_get_dimensions::ffprobe_get_dimensions;
|
||||
use crate::job::job_types::studio_gen2::stable_animator_command::InferenceArgs;
|
||||
use crate::job::job_types::studio_gen2::validate_and_save_results::{validate_and_save_results, SaveResultsArgs};
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
|
||||
pub async fn process_single_studio_gen2_job(
|
||||
deps: &JobDependencies,
|
||||
job: &AvailableInferenceJob
|
||||
) -> Result<JobSuccessResult, ProcessSingleJobError> {
|
||||
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
// TODO(bt,2025-01-16): This is a stub for Studio Gen2
|
||||
|
||||
let mut job_progress_reporter = deps
|
||||
.clients
|
||||
.job_progress_reporter
|
||||
|
||||
+16
-4
@@ -21,6 +21,12 @@ pub fn get_scoped_media_classes(
|
||||
return None;
|
||||
}
|
||||
|
||||
if classes.len() == 1 && classes.contains(&MediaFileClass::Unknown) {
|
||||
// NB(bt,2025-01-31): The frontend started passing simply "unknown" to the API in development
|
||||
// for some reason. Not sure why. There's no product reason for this to be a filter.
|
||||
return None;
|
||||
}
|
||||
|
||||
Some(classes)
|
||||
}
|
||||
|
||||
@@ -34,23 +40,29 @@ mod test {
|
||||
|
||||
#[test]
|
||||
fn none() {
|
||||
assert_eq!(get_scoped_media_classes(None), None)
|
||||
assert_eq!(get_scoped_media_classes(None), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn empty() {
|
||||
assert_eq!(get_scoped_media_classes(Some("")), None)
|
||||
assert_eq!(get_scoped_media_classes(Some("")), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn not_just_unknown() {
|
||||
assert_eq!(get_scoped_media_classes(Some("unknown")), None);
|
||||
assert_eq!(get_scoped_media_classes(Some("unknown,,")), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn garbage() {
|
||||
assert_eq!(get_scoped_media_classes(Some("foo,bar,baz")), None)
|
||||
assert_eq!(get_scoped_media_classes(Some("foo,bar,baz")), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn valid_scope() {
|
||||
assert_eq!(
|
||||
get_scoped_media_classes(Some("image,video")),
|
||||
Some(HashSet::from([MediaFileClass::Image, MediaFileClass::Video])))
|
||||
Some(HashSet::from([MediaFileClass::Image, MediaFileClass::Video])));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user