
                            S r SSKJr  SSKJr  SSKJr  SSKrSSKrSSKJ	r
  \R                  rS\R                  S\4S	 jrS\R                  SS4S
 jr SS\\   S\R"                  4S jjrS\\
R&                     4S jrg)zBQ CLI frontend flag utils.    )Optional)app)flagsN)utilsfeaturereturnc                 <    U [         R                  R                  ;   $ )N)bq_flagsALPHAvaluer   s    #platform/bq/frontend/utils_flags.pyusing_alpha_featurer      s    	HNN((	((    c                 l    [        U 5      (       d$  [        R                  " SU R                   S35      eg )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                     [         S   R                  (       a$  [        R                  " [         R                  5      $ [        R                  " U 5      $ )Nformat)FLAGSpresenttable_formatterGetFormatterr   )r   s    r   get_formatter_from_flagsr      s8     8_''55''(899r   c                     [         R                  (       a+  [         R                  (       a  [        R                  " S5      e[         R                  (       a  [
        R                  " 5       $ [         R                  c)  [
        R                  " [
        R                  " 5       5      $ [         R                  (       a  [         R                  $ g)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   