
    iS              	       v   d Z ddlZddlmc mZ ddlZddlZddl	m
Z
 ej                  j                  d e e
e      j                               ddlmZmZ d Zd Zd Zd#dZed	k(  rO ed
        e       Z ee      Zer, ee        ee      Z ed        ed        ed       ej9                  di       Z edej9                  dd       dej9                  dd       d        edej9                  dd      dd       dddddZej9                  dg       D ]U  Zej9                  dg       D ]>  Z e j9                  di       Z!e!j9                  dd      Z"ej9                  e"d      dz   ee"<   @ W  ed       ejG                         D ]  \  Z$Z%e%dkD  s ed e$ d!e%         y ed"       yy)$zD
Test script for the Visual Decider on the Tobacco Company premise.
    N)Path)layer4_visual_deciderrun_layer4_v4_pipelinec                      t        t              j                  dz  dz  } t        |       5 }t	        j
                  |      }ddd       |S # 1 sw Y   S xY w)z3Load the Tobacco Company opportunity with research.outputz%layer4_output_one_minute_history.jsonN)r   __file__parentopenjsonload)output_filefdatas      =/home/sietch6/trending-topics-pipeline/test_visual_decider.pyload_tobacco_opportunityr      sQ    x.''(25\\K	k	 ayy| K	 Ks   AAc           	         | j                  d      }|st        d       yt        d       t        d       t        d       t        d|j                  di       j                  dd	              t        d
t        |j                  dg                     t        d |j                  dg       D              }t        d|        t                t	        ||       }|S )z2Run just the Visual Decider on an existing script.scriptz%ERROR: No script found in opportunityN<============================================================zRUNNING VISUAL DECIDER TESTz	Premise: metadatapremiseUnknownzBeats: beatsc              3   R   K   | ]  }t        |j                  d g              ! yw)segmentsN)lenget).0bs     r   	<genexpr>z*run_visual_decider_only.<locals>.<genexpr>&   s      UQUU:r23Us   %'zTotal segments: )r   printr   sumr   )opportunityr   total_segmentsenhanced_scripts       r   run_visual_decider_onlyr%      s    __X&F56	(O	
'(	(O	IfjjR044Y	JK
LM	GC

7B/01
23UVZZQS=TUUN	^,
-.	G ,FK@O    c                 &   t        d       t        d       t        d       | j                  dg       D ]Z  }|j                  dd      }t        d|j                  d       d	|        t        d
       t        |j                  dg             D ]  \  }}d|j                  d       d|dz    }t        d| d|j                  dd      dd|j                  dd      dd       |j                  dd      }t        t        |      dkD  r	d|dd  dnd| d       |j                  di       }|j                  dd       }t        d!|        |d"k(  rb|j                  d#i       }	t        d$|	j                  d%d&       d       |	j                  d'      rPt        d(|	j                  d'              n1|d)k(  r2|j                  d*i       }
t        d$|
j                  d%d&       d       n|d+k(  r|j                  d,i       }t        d-|j                  d.d&              t        d/|j                  d0d&              |j                  d1g       }t        d2t        |              |dd3 D ]D  }t        d4|j                  d5       d	|j                  d6       d7|j                  d8d              F |j                  d9      r!t        d:|j                  d9      dd;  d<       |j                  d=|j                  d>d            }|rt        d?|dd@  d<       |j                  dA      xs |j                  dB      }|r<t        dC|j                  dDd&              t        dE|j                  dFd&              t                 ] y)Gz:Print detailed analysis of each segment's visual decision.=
============================================================z"SEGMENT-BY-SEGMENT VISUAL ANALYSISr   r   	beat_namer   z

### BEAT beat_number: z(----------------------------------------r   r   _s   z
[z] 
time_startr   .1fzs - time_ends	voiceover d   zVOICEOVER: "Nz...""visual_structureddecisionUNKNOWNz
DECISION: IMAGEimagez	SEARCH: "search_queryzN/AerazERA: VIDEOvideoDATA_VISUALIZATIONdata_visualizationzCHART: 
chart_typezTITLE: titler   zDATA POINTS:    z  - labelvalue unitsourcezSOURCE: P   z...thinkingvisual_thinkingz
THINKING: x   if_data_not_availablevisual_data_gapz
DATA GAP: why_not_possiblez
FALLBACK: fallback_image_query)r    r   	enumerater   )r   beatr)   isegmentseg_idvovsr7   imgviddvr   dprJ   data_gaps                   r   print_segment_analysisr]   /   st   	/	
./	(O

7B' /HH[)4	DHH]34BykBCh#DHHZ$<= *	JAw-01AaC59FCxr'++lA">s!C4T^`aHbcfGgghij["-BSWs]M"Tc(51-XZW[[]H^_ 0"5Bvvj)4HJxj)*7"ffWb)
377>5#A"B"EF775>E#''%.!123W$ffWb)
377>5#A"B"EF11VV0"5|U ;<=>w 6789vvfb)c$i[12r( \BD 1BFF7O3DAbffVUWFXEYZ[\66(#HRVVH%5cr%:$;3?@ vvj'++6G*LMH
8DS>"2#67 vv56X'++FW:XH
8<<0BE#J"KLM
8<<0F#N"OPQGU*	/r&   c                     t        t              j                  dz  |z  }t        |d      5 }t	        j
                  | |d       ddd       t        d|        |S # 1 sw Y   xY w)z$Save the enhanced script for review.r   w   )indentNz
Results saved to: )r   r   r	   r
   r   dumpr    )r   filenameoutput_pathr   s       r   save_resultsre   f   sb    x.''(2X=K	k3	 '1		&!A&'	 
./' 's   AA&__main__z&Loading Tobacco Company opportunity...r(   SUMMARYr   visual_decider_metadatazProcessed: processed_segments/r#   z	 segmentsz
Duration: duration_secondsr/   r1   )r9   r=   r?   r8   r   r   r6   r7   r8   r-   z
Type distribution:z  r+   zERROR: Visual decider failed)ztest_visual_decider_output.json)&__doc__builtins@py_builtins_pytest.assertion.rewrite	assertionrewrite
@pytest_arr   syspathlibr   pathinsertstrr   r	   video_generationr   r   r   r%   r]   re   __name__r    r"   r$   rd   r   r   type_countsrR   rT   rW   r7   itemsvtypecount r&   r   <module>r      s     
  3tH~,,- . J,5n z	
23*,K .k:O/ #?3 	oih"&&'@"EHLL)=qAB!HLLQacdDeCffopq
8<<(:A>sC1EF !"AQSTU#''4 	ID88J3 I[[!4b966*i8(3!(Dq(HH%I	I 	$&'--/ 	-LE5qy5'E7+,	- 	,-K r&   