
    (jZ                         d dl Zd dlmc mZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZ d Zd Zd	 Zd
 ZdS )    N)Path)build_i2v_clip_jobsbuild_native_wan22_i2v_workflowwrite_i2v_clip_jobs)build_i2v_prompt_plan)build_mechanism_shot_plan)PILOT_IDEASbuild_mechanism_explainerc                  r    t          t          d                   } t          |           }t          |          S )Nr   )r
   r	   r   r   )	explainer	shot_plans     D/home/agent/jarvis_runtime/AutoShortsBot/tests/test_i2v_clip_jobs.py_prompt_planr      s.    )+a.99I))44I +++    c                    | dz  }| dz  }t          t                      ||ddg          }t          |          }d}||k    }|st          j        d|fd||f          d	t          j                    v st          j        t                    rt          j        t                    nd	d
t          j                    v st          j        |          rt          j        |          nd
t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}}|d         }	|	d         }
d}|
|k    }|slt          j        d|fd|
|f          t          j        |
          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}
x}}|	d         }
d}|
|k    }|slt          j        d|fd|
|f          t          j        |
          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}
x}}|	d         }
d}|
|k    }|slt          j        d|fd|
|f          t          j        |
          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}
x}}|	d         }
d}||z  }t          |          }|
|k    }|st          j        d|fd|
|f          t          j        |
          dt          j                    v st          j        t                    rt          j        t                    nddt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}
x}x}x}}|	d          }
d!}||z  }t          |          }|
|k    }|st          j        d|fd|
|f          t          j        |
          dt          j                    v st          j        t                    rt          j        t                    ndd"t          j                    v st          j        |          rt          j        |          nd"t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}
x}x}x}}|	d#         }
d$}|
|k    }|slt          j        d|fd|
|f          t          j        |
          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}
x}}|	d%         d&         }
d'}|
|u }|slt          j        d(|fd)|
|f          t          j        |
          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}
x}}d S )*N	keyframesclipse      )keyframe_rootoutput_rootseeds   ==)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)slenjobs)py0py1py3py6zassert %(py8)spy8r   job_idscene_01_seed_101z%(py1)s == %(py4)sr   py4assert %(py6)sr!   scene_idscene_01seedkeyframe_pathzIhidden-money-systems-warum-ein-billiges-auto-teuer-sein-kann/scene_01.png)z<%(py1)s == %(py9)s
{%(py9)s = %(py3)s((%(py4)s / %(py6)s))
}strr   )r   r    r'   r!   py9zassert %(py11)spy11output_pathzRhidden-money-systems-warum-ein-billiges-auto-teuer-sein-kann/scene_01/seed_101.mp4r   statusneeds_keyframereviewhuman_review_requiredT)is)z%(py1)s is %(py4)s)r   r   r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr-   )tmp_pathr   r   r   @py_assert2@py_assert5@py_assert4@py_format7@py_format9first@py_assert0@py_assert3@py_format5@py_assert7@py_assert8@py_format10@py_format12s                    r   Ftest_build_i2v_clip_jobs_creates_seeded_scene_jobs_with_expected_pathsrL      s	   {*MW$K#Cj	  D t999>933tt9GE?111?11111111111?111111?11111111111111111111111111111111*
*
**********
*********
***************************=C=C=C=C!  F  :E  F  :E  *E  FS  *E  &F  &F  F!  &F  F  F  F  F  F  F  F  F  F  F!  &F  F  F  F  F  F!  F  F  F  F  F  F  F  F  F  F  FS  F  F  F  F  FS  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  :E  F  F  F  F  &F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  F  K  6J  K{  6J  (J  K3  (J  $K  $K  K  $K  K  K  K  K  K  K  K  K  K  K  $K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K3  K  K  K  K  K3  K  K  K  K  K  K  K  K  K  K  K  K  K{  K  K  K  K  K{  K  K  K  K  K  K  6J  K  K  K  K  $K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K  K?...?...........?......?................................?23;t;3t;;;;;;;;;;3t;;;;;3;;;;t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r   c                     t          t                      t          d          t          d          dg          d         } t          | d          }|d         d	         }d
}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}|d         d         d         }d}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}|d         d         d         }d}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}|d         d         d         }d}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}|d         d         d         }d}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}|d         d         d         }d}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}|d         d         d         }d}||k    }|slt	          j        d|fd||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}d }|d!         d         d"         }||v }|slt	          j        d#|fd$||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}d%}|d&         d         d"         }||v }|slt	          j        d#|fd$||f          t	          j        |          t	          j        |          dz  }dd|iz  }t          t	          j        |                    d x}x}}|d'         d         d(         }|j	        }d)} ||          }|ssd*t	          j        |          t	          j        |          t	          j        |          t	          j        |          d+z  }	t          t	          j        |	                    d x}x}x}}d S ),Nr   r   i/  )r   r   zscene_01.png)uploaded_image_name1
class_type
UNETLoaderr   r%   r&   r(   r!   inputs	unet_namezwan2.2_ti2v_5B_fp16.safetensors2	clip_namez&umt5_xxl_fp8_e4m3fn_scaled.safetensors5vae_namezwan2.2_vae.safetensors6image8length=   9r+   zNo text, no logo, no watermark3textin)z%(py1)s in %(py4)szfake UI text412filename_prefixscene_01_seed_303zJassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.endswith
}(%(py5)s)
})r   r    py5py7)
r   r   r   r   r6   r7   r;   r<   r=   endswith)
jobworkflowrE   rF   r?   rG   rB   rA   @py_assert6@py_format8s
             r   Jtest_native_wan22_workflow_uses_scaled_t5_uploaded_image_and_no_baked_textrm   (   sR   
lnnd;.?.?gWZV[
\
\
\]^
_C.sWWWHC=&6,6&,6666666666&,66666&6666,666666666666666666666666666C=";/T3TT/3TTTTTTTTTTT/3TTTTTT/TTTT3TTTTTTTTTTTTTTTTTTTTTTTTTTTTC=";/[3[[/3[[[[[[[[[[[/3[[[[[[/[[[[3[[[[[[[[[[[[[[[[[[[[[[[[[[[[C=":.J2JJ.2JJJJJJJJJJJ.2JJJJJJ.JJJJ2JJJJJJJJJJJJJJJJJJJJJJJJJJJJC="7+=~=+~==========+~=====+====~===========================C="8,22,2222222222,22222,2222222222222222222222222222222C="6*1c1*c1111111111*c11111*1111c111111111111111111111111111+Nx}X/Fv/NN+/NNNNNNNNNNN+/NNNNNN+NNNN/NNNNNNNNNNNNNNNNNNNNNNNNNNNN<Xc]84V<<><<<<<<<<<<<><<<<<<><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<D>(#$56T6?T@ST??@STTTTTTTT6TTTT?TTTT@STTTTTTTTTTTTTTTTTTTTTTTTTTTTTTr   c                    t          t                      | dz  t          d          t          d          g d          }|                    d          }d}||v }|st	          j        d	|fd
||f          t	          j        |          dt          j                    v st	          j	        |          rt	          j        |          nddz  }dd|iz  }t          t	          j        |                    d x}}d}||v }|st	          j        d	|fd
||f          t	          j        |          dt          j                    v st	          j	        |          rt	          j        |          nddz  }dd|iz  }t          t	          j        |                    d x}}d}||v }|st	          j        d	|fd
||f          t	          j        |          dt          j                    v st	          j	        |          rt	          j        |          nddz  }dd|iz  }t          t	          j        |                    d x}}d}||v }|st	          j        d	|fd
||f          t	          j        |          dt          j                    v st	          j	        |          rt	          j        |          nddz  }dd|iz  }t          t	          j        |                    d x}}d S )Nz	jobs.jsonzdata/keyframeszdata/generated_clips)         )output_filer   generated_clip_rootr   zutf-8)encodingzi2v_clip_jobs.v1r`   )z%(py1)s in %(py3)sr_   )r   r    zassert %(py5)srf   scene_01_seed_1scene_02_seed_3/keyframe_to_wan22_i2v_to_deterministic_renderer)r   r   r   	read_textr6   r7   r;   r8   r9   r:   r<   r=   )r>   pathr_   rE   r?   @py_format4@py_format6s          r   -test_write_i2v_clip_jobs_outputs_json_packager|   9   ss   {*+,, !788ii  D >>7>++D%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<D<DDDDDDDDDD<DDDDD<DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDr   )builtinsr8   _pytest.assertion.rewrite	assertionrewriter6   pathlibr   autoshorts.i2v_clip_jobsr   r   r   autoshorts.keyframe_promptr   autoshorts.mechanism_pipeliner   autoshorts.retention_studior	   r
   r   rL   rm   r|    r   r   <module>r      s                                
 = < < < < < C C C C C C N N N N N N N N, , ,< < <*U U U"E E E E Er   