
    j|                     |    d dl Zd dlmc mZ d dlmZ d dl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_keyframe_requestswrite_keyframe_package)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     G/home/agent/jarvis_runtime/AutoShortsBot/tests/test_keyframe_package.py_prompt_planr   	   s.    )+a.99I))44I +++    c                  
   t          t                      t          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}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd	|iz  }t          t          j        |                    d x}x}}| d         }t          |          }d}||k    }|st          j        d|fd||f          dt          j
                    v st          j        t                    rt          j        t                    ndt          j        |          t          j        |          t          j        |          dz  }	dd|	iz  }
t          t          j        |
                    d x}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}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd	|iz  }t          t          j        |                    d x}x}}|d         }|j        }d} ||          }|ssdt          j        |          t          j        |          t          j        |          t          j        |          dz  }	t          t          j        |	                    d x}x}x}}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!         }||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%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 S )'Ndata/keyframeskeyframe_rootschema_versionkeyframe_requests.v1==z%(py1)s == %(py4)spy1py4assert %(py6)spy6videotitlez'Warum ein billiges Auto teuer sein kannrequests   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)slen)py0py2r   py7zassert %(py9)spy9r   scene_idscene_01target_pathzXdata/keyframes/hidden-money-systems-warum-ein-billiges-auto-teuer-sein-kann/scene_01.pnggenerator_promptzPhotorealistic vertical imagezLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})r   py3py5r%   zNo textin)z%(py1)s in %(py4)sz%no readable text/logos/license platesacceptance_checklistrequired_formati  i  png)widthheightformat)r   r   r   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationr"   @py_builtinslocals_should_repr_global_name
startswith)package@py_assert0@py_assert3@py_assert2@py_format5@py_format7@py_assert1@py_assert6@py_assert5@py_format8@py_format10first@py_assert4s                r   Atest_keyframe_requests_include_target_paths_and_quality_checklistrK      s   %lnnDIYDZDZ[[[G#$>(>>$(>>>>>>>>>>>$(>>>>>>$>>>>(>>>>>>>>>>>>>>>>>>>>>>>>>>>>7G$Q(QQ$(QQQQQQQQQQQ$(QQQQQQ$QQQQ(QQQQQQQQQQQQQQQQQQQQQQQQQQQQz"(3"##(q(#q((((((((((#q((((((((((((3(((((3(((((("((((#((((q(((((((((((((((((((((((((((((J"E*
*
**********
*********
***************************}#}}#}}}}}}}}}}}#}}}}}}}}}}#}}}}}}}}}}}}}}}}}}}}}}}}}}}}#$P$/P0OP//0OPPPPPPPP$PPPP/PPPP0OPPPPPPPPPPPPPPPPPPPPPPPPPPPP101191111111111191111119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2Se<R6SS26SSSSSSSSSSS26SSSSSS2SSSS6SSSSSSSSSSSSSSSSSSSSSSSSSSSS"#Uu'U'UU#'UUUUUUUUUUU#'UUUUUU#UUUU'UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUr   c                     t          t                      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}||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}||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}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }d	d
|iz  }t          t          j        |                    d x}x}}d S )Nr   r   
fps_policygeneration_fps   r   r   r   r   r   generation_frames=   final_delivery_fps   interpolation(renderer_or_ffmpeg_optical_flow_to_24fps)r   r   r   r5   r6   r7   r8   r9   )r>   r?   r@   rA   rB   rC   s         r   Atest_keyframe_package_explains_fps_policy_for_smooth_final_outputrV      s   %lnnDIYDZDZ[[[G< !128b82b88888888882b8888828888b888888888888888888888888888< !45;;5;;;;;;;;;;5;;;;;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;< !56<"<6"<<<<<<<<<<6"<<<<<6<<<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<< 1_5__15___________15______1____5______________________________r   c                 `   t          t                      | dz  t          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 S )Nzkeyframes.jsonr   )output_filer   zutf-8)encodingr   r-   )z%(py1)s in %(py3)stext)r   r+   zassert %(py5)sr,   zscene_01.pngzChatGPT Pro)r   r   r   	read_textr5   r6   r7   r:   r;   r<   r8   r9   )tmp_pathpathrZ   r?   rA   @py_format4@py_format6s          r   (test_write_keyframe_package_outputs_jsonr`   '   s   !//+,,  D >>7>++D!)!T))))))))))!T)))))!)))))))))))T)))))T)))))))))))))))))))))))))))!>T!!!!!!!!!!>T!!!!!>!!!!!!!!!!!T!!!!!T!!!!!!!!!!!!!!!!!!!!!!!!!!! =D          =D     =           D     D                             r   )builtinsr:   _pytest.assertion.rewrite	assertionrewriter5   pathlibr   autoshorts.keyframe_packager   r   autoshorts.keyframe_promptr   autoshorts.mechanism_pipeliner   autoshorts.retention_studior   r	   r   rK   rV   r`    r   r   <module>rk      s                        W W W W W W W W < < < < < < C C C C C C N N N N N N N N, , ,V V V` ` `
! 
! 
! 
! 
!r   