
    	                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ dd
lmZ ddlmZ ddlmZ ej                    G d dej"                               Zy)z/Implementation of command for deleting folders.    )absolute_import)division)unicode_literals)base)errors_util)flags)folder_util)name_expansion)rm_command_util)storage_url)task_graph_executorc                   0    e Zd ZdZdddZed        Zd Zy)DeletezDelete folders.z
      The following command deletes a folder named `folder`
      in a hierarchical namesapce bucket
      called `my-bucket`:

        $ {command} gs://my-bucket/folder/
      )DESCRIPTIONEXAMPLESc                 `    | j                  dt        dd       t        j                  |        y )Nurls+z"The URLs of the folders to delete.)typenargshelp)add_argumentstrr   add_additional_headers_flag)parsers    %lib/surface/storage/folders/delete.pyArgszDelete.Args.   s1    
1	   
%%f-    c                 x   |j                   D ]8  }t        j                  |      }t        j                  |j
                  |d       : t        j                  |j                   t        j                  j                  d      }t        j                  |t        j                  j                         d      | _        y )NfolderT)folder_settingraise_error_for_unmatched_urls)task_status_queuer"   )r   r   storage_url_from_stringr   "raise_error_if_not_gcs_folder_typecommand_pathr
   NameExpansionIteratorr	   FolderSettingLIST_WITHOUT_OBJECTSr   remove_foldersr   multiprocessing_contextQueue	exit_code)selfargs
url_stringurlfolder_expansion_iterators        r   Runz
Delete.Run8   s    ii
//
;c44


S(   !/ D D		"00EE'+!
 %33!-EEKKM'+DNr   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r3    r   r   r   r      s/     +
	- . .r   r   N)r7   
__future__r   r   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.storager   r   r	   r
   r   r   (googlecloudsdk.command_lib.storage.tasksr   DefaultUniverseOnlyCommandr   r:   r   r   <module>rA      sP    6 &  ' ( : 4 : = > : H (T\\ ( (r   