
                         t    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 Z	d Z
d	 Zd
 Zd Zd Zd Zd Zy)zBTools for converting metadata fields to XML/S3-compatible formats.    )absolute_import)division)unicode_literals)metadata_util)user_request_args_factoryc                 ,    t        j                  |       S )z'Converts ACLs file to S3 metadata dict.)r   cached_read_yaml_json_file	file_paths    Clib/googlecloudsdk/api_lib/storage/xml_metadata_field_converters.pyprocess_acl_filer      s     
	1	1)	<<    c                 v    | t         j                  k(  rt         j                  S t        j                  |       }|S )z'Converts CORS file to S3 metadata dict.r   CLEARr   r	   )r   	cors_dicts     r   process_corsr   "   s5    +111$***66yA)
 
r   c                     | t         j                  k(  rt         j                  S t        j                  |       }g }|j	                         D ]  \  }}|j                  ||d        d|iS )z)Converts labels file to S3 metadata dict.)KeyValueTagSet)r   r   r   r	   itemsappend)r   labels_dicts3_tag_set_listkeyvalues        r   process_labelsr   /   si    +111$***88C+/%%'jc5378 ( O	$$r   c                 r    | t         j                  k(  rt         j                  S t        j                  |       S )z,Converts lifecycle file to S3 metadata dict.r   r
   s    r   process_lifecycler    <   s0    +111$*** 
	1	1)	<<r   c                     | t         j                  k(  }|t         j                  k(  }|r|rt         j                  S i }| r|s| |d<   |r|s||d<   d|iS )z.Converts logging settings to S3 metadata dict.TargetBucketTargetPrefixLoggingEnabledr   r   )
log_bucketlog_object_prefixclear_log_bucketclear_log_object_prefixlogging_configs        r   process_loggingr+   H   sh    #<#B#BB-1J1P1PP1$***.(%/N>"6%6N>"
N	++r   c                     | rdnd}d|iS )z4Converts requester_pays boolean to S3 metadata dict.	RequesterBucketOwnerPayer )requester_payspayers     r   process_requester_paysr3   W   s    '+]%
5	r   c                     | rdnd}d|iS )z-Converts versioning bool to S3 metadata dict.Enabled	SuspendedStatusr0   )
versioningversioning_strings     r   process_versioningr:   ]   s    #-i;
%	&&r   c                     | t         j                  k(  }|t         j                  k(  }|r|rt         j                  S i }| r	|sd| i|d<   |r	|sd|i|d<   |S )z-Converts website strings to S3 metadata dict.r   ErrorDocumentSuffixIndexDocumentr%   )web_error_pageweb_main_page_suffixclear_error_pageclear_main_page_suffixmetadata_dicts        r   process_websiterD   c   sr    #'@'F'FF7===  0$***-,&+^%<M/""8&.0D%EM/"	r   N)__doc__
__future__r   r   r   googlecloudsdk.api_lib.storager   "googlecloudsdk.command_lib.storager   r   r   r   r    r+   r3   r:   rD   r0   r   r   <module>rI      sB    I &  ' 8 H=

%	=,'r   