
    UHj@	                    Z    d Z ddlmZ ddlZddlZddlmZ ddZd	dZe	dk(  r e        yy)
zEWrite a compact Markdown summary of extracted scene event candidates.    )annotationsN)Pathc                
   g d}| D ]S  }t        |j                  dg       D ch c]  }|j                  dd       c}      }|j                  dt        |d               }|j                  dt        |j                  d|d                     }||k(  rt        |      n| d	| d
}|j                  d|j                  dg             }|j	                  dj                  |d   |d   |d   t        |      |t        |j                  dg             dj                  |j                  dg             xs ddj                  |      xs dd|d   d	             V |j	                  d       dj                  |      S c c}w )N)z# Scene Event Candidates zm| map | scene | kind | active points | in-bounds/raw points | dispatch refs | linked | block kinds | record |z9| --- | --- | --- | ---: | --- | ---: | --- | --- | --- |tailPointerBlocks	blockKind?rawPointCountpointsinBoundsPointCountinBoundsPoints/z
 in-boundsactivePointszn| {map} | {scene} | {kind} | {active_points} | {points} | {dispatch_refs} | {linked} | {blocks} | `{record}` |map
sceneIdHex	eventKindeventDispatchRefsz, linkedStrings-0xrecordVa08x)	r   scenekindactive_pointsr   dispatch_refslinkedblocksrecordr   
)sortedgetlenstrappendformatjoin)	eventslineseventblockblock_kinds	raw_countin_bounds_count
point_textr   s	            3/home/exedev/hwanse/tools/summarize_scene_events.py	summarizer1   
   s   E  
 #YY':B? 		+s+
 IIos5?/CD	))$8#eiiHXZ_`hZi>j:kl O+  #$Ai[
; 	
 		.%))Hb2IJ|  D  D%LL);'!-0!!%)),?"DEyy?B!?@GCyy-4E*-c23 D 
	

8 
LL99U7s   F 
c                    t        j                  t              } | j                  dt        t	        d             | j                  dt        t	        d             | j                         }t        j                  |j                  j                  d            }|j                  j                  j                  d	d	
       |j                  j                  t        |      d       t        dt!        |       d|j                          y )N)descriptionz--eventszout/scene_events.json)typedefaultz--outzout/scene_events_summary.mdzutf-8)encodingT)parentsexist_okzwrote z event summaries -> )argparseArgumentParser__doc__add_argumentr   
parse_argsjsonloadsr(   	read_textoutparentmkdir
write_textr1   printr#   )parserargsr(   s      r0   mainrH   1   s    $$9F

t<S7TU
dD9V4WXDZZ--w-?@FHHOO$6HH	&)G<	F3v;-3DHH:
>?    __main__)r(   z
list[dict]returnr$   )rK   None)
r;   
__future__r   r9   r>   pathlibr   r1   rH   __name__ rI   r0   <module>rQ      s4    K "   $N	@ zF rI   