
    Pi                    *   d Z ddlmZ ddlmZmZ dgZ eh d          ZdZ	 edh          Z
 eh d          Z eh d	          Z ed
dh          Z eddh          ZdddhiZ eh d          Z eh d          Zd dZd!dZd"dZd#dZdS )$z4
Azure CLI handler for Dippy.

Handles az commands.
    )annotations)ClassificationHandlerContextaz>   	list-skus	show-tags
list-sizeslist-memberlist-offerscheck-healthdownload-batchlist-publisherslist-definitionsgeturllistlogsshowtailqueryexistsdownload	summarize)zlist-zshow-zget-zget-credentials>   addrunsetstopclearstartcreatedeleteinvokeremoveupdateexecuterestart>   get-access-tokenr   r   r   r   versionfindbicepzlist-versions>   loginlogout	configure>5   -g-l-n-o-s--id--ids--org--sku--urn--name--team--wiql--offer--query--scope--vault--output--server	--account	--pool-id	--project
--assignee
--build-id
--database
--end-time
--group-id
--location
--registry
--resource--container--namespace--publisher--workspace--release-id--repository--start-time--vault-name--pipeline-id--resource-id--server-name--account-name--organization--subscription--database-name--registry-name--resource-type--container-name--namespace-name--resource-group--workspace-name--analytics-query--storage-accounttokens	list[str]returnstrc                    t          |           dk     rdS t          | dd                   }|sdS dd                    |dd                    S )z#Compute description for az command.   r      Nzaz     )len_extract_partsjoin)rc   partss     0/root/projects/gits/Dippy/src/dippy/cli/azure.pyget_descriptionrq      sZ    
6{{Qt6!"":&&E t&%)$$&&&    ctxr   r   c                P   | j         }|r|d         nd}t          |          dk     rt          d|          S t          |dd                   }|st          d|          S t	          |          }d|v sd	|v sd
|v rt          d|          S |d         t
          v rt          d|          S |d         t          v rt          d|          S |d         dk    rdt          |          dk    r@|d         t          v rt          d|          S |d         t          v rt          d|          S t          d|          S |d         dk    rEt          |          dk    r2|d         dk    r&d|v rt          d|          S t          d|          S |d         t          v r?t          |          dk    r,|d         t          |d                  v rt          d|          S |D ]b}|t          v rt          d|          c S |t          v rt          d|          c S |                    d          rt          d|          c S c|D ]R}|t          v rt          d|          c S t          D ],}|                    |          rt          d|          c c S -St          d|          S )zClassify az command.r   r   rh   ask)descriptionri   Nhelpz-hz--helpallowaccountdevopsr-   z--listzset-)rc   rl   r   rm   rq   UNSAFE_GROUPSSAFE_GROUPSACCOUNT_SAFE_COMMANDSACCOUNT_UNSAFE_COMMANDSSAFE_SUBCOMMANDSUNSAFE_ACTION_KEYWORDSUNSAFE_EXCEPTIONS
startswithSAFE_ACTION_KEYWORDSSAFE_ACTION_PREFIXES)rs   rc   basero   descpartprefixs          rp   classifyr      s@   ZF(6!99DD
6{{Qe66666!"":&&E 7e66666""D $&..H,>,>g48888 Qx=  e6666 Qx;g48888 Qx9u::>>Qx000%g4@@@@Qx222%e>>>>g48888 Qx8E

Q58{3J3Jv!'t<<<<e6666 Qx###E

Q8'a111!'t<<<<  ; ;)))!%T::::::$$$!%T::::::??6"" 	;!%T::::::	;  A A'''!'t<<<<<<* 	A 	AFv&& A%g4@@@@@@@@A	A %T2222rr   c                   g }d}|t          |           k     rt          |          dk     r| |         }|                    d          r5|t          v r|dz   t          |           k     r|dz  }nd|v r|dz  }n|dz  }xd|v sd|v sd	|v r|dz  }t          |          r|dz  }|                    |           |dz  }|t          |           k     rt          |          dk     |S )
zTExtract command parts (service/subgroup/action), skipping flags and their arguments.r      -ri   rh   =/.@)rl   r   FLAGS_WITH_ARG_looks_like_valueappend)rc   ro   itokens       rp   rm   rm      s   E	A
c&kk//c%jj1nnq	 C   	&&1q53v;;+>+>QQQ %<<3%<<3%<<FA U## 	FA 	U	Q3 c&kk//c%jj1nn6 Lrr   r   boolc                    t          |           dk    r|                     d          dk    rdS |                                 rdS |                     d          rdS dS )z8Check if token looks like a value rather than a command.$   r      Tz/subscriptions/F)rl   countisdigitr   )r   s    rp   r   r     sf     5zzREKK,,11t}} t)** t5rr   N)rc   rd   re   rf   )rs   r   re   r   )rc   rd   re   rd   )r   rf   re   r   )__doc__
__future__r   	dippy.clir   r   COMMANDS	frozensetr   r   r   r   r}   r~   r|   r   r{   r   rq   r   rm   r    rr   rp   <module>r      s    # " " " " " 4 4 4 4 4 4 4 46 !y    2 2  I   #    & "	"F"F"FGG #)UG$455  i  i) 
 	    6 6 68 8v' ' ' '>3 >3 >3 >3B   D     rr   