
                             d Z ddlmZ ddlmZ ddlmZ ddlZddlZddlm	Z
 ej                  Zdej                  defd	Zdej                  ddfd
Z	 ddee   dej"                  fdZdee
j&                     fdZy)zBQ CLI frontend flag utils.    )Optional)app)flagsN)utilsfeaturereturnc                 :    | t         j                  j                  v S )N)bq_flagsALPHAvaluer   s    #platform/bq/frontend/utils_flags.pyusing_alpha_featurer      s    	HNN((	((    c                 `    t        |       s#t        j                  d| j                   d      y )NzPlease specify '--alpha=z' and retry.)r   r   
UsageErrorr   r   s    r   fail_if_not_using_alpha_featurer      s,    	W	%
..3GMM?,O
PP 
&r   secondary_formatc                     t         d   j                  r#t        j                  t         j                        S t        j                  |       S )Nformat)FLAGSpresenttable_formatterGetFormatterr   )r   s    r   get_formatter_from_flagsr      s8     8_''55''(899r   c                  d   t         j                  r%t         j                  rt        j                  d      t         j                  rt        j                         S t         j                  't        j                  t        j                               S t         j                  rt         j                  S y)z3Returns the job id or job generator from the flags.zEThe fingerprint_job_id flag cannot be specified with the job_id flag.N)	r   fingerprint_job_idjob_idr   r   bq_client_utilsJobIdGeneratorFingerprintJobIdGeneratorIncrementingJobIdGeneratorRandom r   r   get_job_id_from_flagsr$   "   s    
%,,
..O  4466||55,,.  ||<< r   )sparse)__doc__typingr   abslr   r   r   r
   clientsr   r   r   AlphaFeaturesboolr   r   strTableFormatterr   JobIdGeneratorr$   r#   r   r   <module>r/      s    !      ,)!7!7 )D )QX-C-C Q Q '/:sm:##:x(F(FG r   