
    h                        d dl mZ d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZ d dlmZ  e            Zddd
ZddZedk    r! ej        dd          dv Z ee           dS dS )    )annotationsN)Counter)datetime)start_batchfinish_batchingest_stagingbuild_candidatesauto_decideseed_batch_as_newapply_decisionsload_motie_from_existing)
get_clientF	bootstrapboolc                   dt          j                                        d           }t          d|            t	          |           t          d          }t          dt          |                      t          ||           | r^t          d           t          |           t          |           t          |dd	t          |          i           t          |           d S t          d
           t          |           t          d           t          |           t          d           t          |           t          |          }t          |d|           t          |           d S )Nzmotie-z%Y%m%d-%H%M%Sz[+] batch_id = i@  )limitz[+] staging rows(MOTIE) = zH[+] bootstrap mode: create persons & AUTO decisions for all staging rows	COMPLETEDMOTIEu   [+] build candidates…u   [+] auto decide…u   [+] apply decisions…)statussource_summary)r   nowstrftimeprintr   r   lenr   r   r   r   summaryr	   r
   )r   batch_idrowssss       -/var/www/html/bot/app/sync2/run_motie_demo.pyrunr       su   B//@@BBH	
&H
&
&'''#$///D	
2s4yy
2
23338T""" XYYY(###!!!X{Wc$ii,@AAA	
#$$$X	
	
"###H			B+bAAAAH    r   strc                   t                               d                              d                              d|                                           j        pg }t          d |D                       }t                               d                              d                              d|                                           j        pg }t          d |D                       }t          d           |                                D ]\  }}t          d	|d
d|            t          d           |                                D ]\  }}t          d	|d
d|            t          |          t          |          dS )Ngov_staff_events
event_typer   c              3  D   K   | ]}|                     d           pdV  dS )r%   UNKNOWNNget.0rs     r   	<genexpr>zsummary.<locals>.<genexpr>2   s3      CCa|$$1	CCCCCCr!   match_decisionsdecisionc              3  D   K   | ]}|                     d           pdV  dS )r/   r'   Nr(   r*   s     r   r-   zsummary.<locals>.<genexpr>9   s3      CCQ!%%
##0yCCCCCCr!   z
== Events (by type) ==z  16s z== Decisions (by kind) ==)events	decisions)
sbtableselecteqexecutedatar   r   itemsdict)r   ev_rowsevdec_rowsdeckvs          r   r   r   ,   s   hh)**				J	!	!	4   
CC7CCC	C	CB xx)**	
			J	!	!	4   CC(CCC
C
CC 

$%%%

    111	
%&&&		    111 r((#YY  r!   __main__	BOOTSTRAP0)1trueTrue)r   )F)r   r   )r   r"   )
__future__r   oscollectionsr   r   app.sync2.pipeliner   r   r   r	   r
   r   r   r   app.services.supabase_servicer   r5   r    r   __name__getenvr    r!   r   <module>rQ      s;   " " " " " " 				                               
 5 4 4 4 4 4Z\\    :   : z	+s++/DDIC) r!   