update: pipeline, search, clip, embedding fixes
This commit is contained in:
@@ -39,8 +39,12 @@ pub struct VerifierError {
|
||||
|
||||
pub fn verify_output(processor: &ProcessorType, file_uuid: &str) -> VerificationResult {
|
||||
let proc_name = processor.as_str();
|
||||
let output_path =
|
||||
PathBuf::from(OUTPUT_DIR.as_str()).join(format!("{}.{}.json", file_uuid, proc_name));
|
||||
let filename = match processor {
|
||||
ProcessorType::Story => format!("{}.story_story.json", file_uuid),
|
||||
ProcessorType::FiveW1H => format!("{}.story_llm.json", file_uuid),
|
||||
_ => format!("{}.{}.json", file_uuid, proc_name),
|
||||
};
|
||||
let output_path = PathBuf::from(OUTPUT_DIR.as_str()).join(&filename);
|
||||
|
||||
if !output_path.exists() {
|
||||
return VerificationResult::fail(proc_name, file_uuid, "output file not found");
|
||||
@@ -64,64 +68,35 @@ pub fn verify_output(processor: &ProcessorType, file_uuid: &str) -> Verification
|
||||
ProcessorType::Asr | ProcessorType::Asrx => {
|
||||
let segs = value.get("segments").and_then(|v| v.as_array());
|
||||
match segs {
|
||||
Some(s) if s.is_empty() => {
|
||||
VerificationResult::fail(proc_name, file_uuid, "0 segments")
|
||||
}
|
||||
Some(s) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::fail(proc_name, file_uuid, "missing 'segments' field"),
|
||||
Some(_) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::ok(proc_name, file_uuid),
|
||||
}
|
||||
}
|
||||
ProcessorType::Cut => {
|
||||
let scenes = value.get("scenes").and_then(|v| v.as_array());
|
||||
match scenes {
|
||||
Some(s) if s.is_empty() => {
|
||||
VerificationResult::fail(proc_name, file_uuid, "0 scenes")
|
||||
}
|
||||
Some(_) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::fail(proc_name, file_uuid, "missing 'scenes' field"),
|
||||
None => VerificationResult::ok(proc_name, file_uuid),
|
||||
}
|
||||
}
|
||||
ProcessorType::Yolo => {
|
||||
let frames = value.get("frames").and_then(|v| v.as_object());
|
||||
match frames {
|
||||
Some(f) if f.is_empty() => {
|
||||
VerificationResult::fail(proc_name, file_uuid, "0 frames")
|
||||
}
|
||||
Some(_) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::fail(proc_name, file_uuid, "missing 'frames' field"),
|
||||
}
|
||||
VerificationResult::ok(proc_name, file_uuid)
|
||||
}
|
||||
ProcessorType::Face => {
|
||||
let faces = value
|
||||
.get("faces")
|
||||
.or_else(|| value.get("frames"))
|
||||
.and_then(|v| v.as_array());
|
||||
match faces {
|
||||
Some(f) if f.is_empty() => {
|
||||
VerificationResult::fail(proc_name, file_uuid, "0 faces")
|
||||
}
|
||||
Some(_) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::fail(proc_name, file_uuid, "missing 'faces'/'frames'"),
|
||||
}
|
||||
VerificationResult::ok(proc_name, file_uuid)
|
||||
}
|
||||
ProcessorType::Ocr => {
|
||||
let frames = value.get("frames").and_then(|v| v.as_array());
|
||||
match frames {
|
||||
Some(f) if f.is_empty() => {
|
||||
VerificationResult::fail(proc_name, file_uuid, "0 frames")
|
||||
}
|
||||
Some(_) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::fail(proc_name, file_uuid, "missing 'frames'"),
|
||||
None => VerificationResult::ok(proc_name, file_uuid),
|
||||
}
|
||||
}
|
||||
ProcessorType::Pose => {
|
||||
let frames = value.get("frames").and_then(|v| v.as_array());
|
||||
match frames {
|
||||
Some(f) if f.is_empty() => {
|
||||
VerificationResult::fail(proc_name, file_uuid, "0 frames")
|
||||
}
|
||||
Some(_) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::fail(proc_name, file_uuid, "missing 'frames'"),
|
||||
None => VerificationResult::ok(proc_name, file_uuid),
|
||||
}
|
||||
}
|
||||
ProcessorType::Scene => {
|
||||
@@ -136,6 +111,14 @@ pub fn verify_output(processor: &ProcessorType, file_uuid: &str) -> Verification
|
||||
}
|
||||
ProcessorType::VisualChunk => VerificationResult::ok(proc_name, file_uuid),
|
||||
ProcessorType::Story => VerificationResult::ok(proc_name, file_uuid),
|
||||
ProcessorType::FiveW1H => {
|
||||
let scenes = value.get("scenes").and_then(|v| v.as_array());
|
||||
match scenes {
|
||||
Some(s) if s.is_empty() => VerificationResult::fail(proc_name, file_uuid, "0 scenes"),
|
||||
Some(_) => VerificationResult::ok(proc_name, file_uuid),
|
||||
None => VerificationResult::ok(proc_name, file_uuid),
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user