
    ]h                     J   d dl mZmZmZmZmZmZmZ 	 d dlm	Z	 d dlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZ erddlm Z  g dZ!d	ee"ef   d
e"de"deee"   ee   f   fdZ#deede"f      dee   fdZ$d	ee"ef   defdZ%d	ee"ef   defdZ&d	ee"ef   dee   fdZ'd	ee"ef   dee   fdZ(d	ee"ef   de"fdZ)dee"   d	ee"ef   dee"   fdZ*ddeee"e"f      dee"   fdZ+ddeee"e"f      defdZ,dee"ef   dee   fdZ-y# e
$ r
 d dlm	Z	 Y w xY w)    )AnycastDictOptionalTupleUnionTYPE_CHECKING)quote)MatchConditions   )ArrowConfigurationBlobTagBlobTagsContainerCpkScopeInfoCpkScopeInfoDelimitedTextConfigurationJsonTextConfigurationLeaseAccessConditionsModifiedAccessConditionsQueryFormatQueryFormatTypeQuerySerializationSourceModifiedAccessConditions)ContainerEncryptionScopeDelimitedJsonDialect)BlobLeaseClient)z
2019-02-02z
2019-07-07z
2019-10-10z
2019-12-12z
2020-02-10z
2020-04-08z
2020-06-12z
2020-08-04z
2020-10-02z
2020-12-06z
2021-02-12z
2021-04-10z
2021-06-08z
2021-08-06z
2021-12-02z
2022-11-02z
2023-01-03z
2023-05-03z
2023-08-03z
2023-11-03z
2024-05-04z
2024-08-04z
2024-11-04z
2025-01-05z
2025-05-05kwargsmatch_param
etag_paramreturnc                    d }d }| j                  |d       }|t        j                  k(  r*| j                  |d       }|st        d| d| d      ||fS |t        j                  k(  rd}||fS |t        j
                  k(  r*| j                  |d       }|st        d| d| d      ||fS |t        j                  k(  rd}||fS |'| j                  |      rt        d| d| d      ||fS t        d|       )N'z' specified without 'z'.*zInvalid match condition: )	popr   IfNotModified
ValueError	IfPresent
IfModified	IfMissingget	TypeError)r   r   r   if_matchif_none_matchmatch_conditions         c/var/www/core.comfia.cic-ware.com/crm/lib/python3.12/site-packages/azure/storage/blob/_serialize.py_get_match_headersr0   A   sH   
 HMjjd3O/777::j$/q-B:,bQRR ]"" 
O55	5 ]"" 
O66	6

:t4q-B:,bQRR ]"" 
O55	5 ]"" 
	 ::j!q,A+bQRR ]"" 3O3DEFF    leaser   c                 ^    	 | j                   }|rt        |      S d S # t        $ r | }Y w xY w)N)lease_id)idAttributeErrorr   )r2   r4   s     r/   get_access_conditionsr7   ]   s<    88 8@ (3ITI  s    ,,c           
          t        | dd      \  }}t        | j                  dd       | j                  dd       |xs | j                  dd       |xs | j                  dd       | j                  dd             S )	Nr.   etagif_modified_sinceif_unmodified_sincer,   r-   if_tags_match_condition)r:   r;   r,   r-   if_tags)r0   r   r$   r   r,   r-   s      r/   get_modify_conditionsr?   e   sv    09JFSHm# **%8$?"JJ'<dC9VZZ
D9#Hvzz/4'H

4d; r1   c           
          t        | dd      \  }}t        | j                  dd       | j                  dd       |xs | j                  dd       |xs | j                  dd       | j                  dd             S )	Nsource_match_conditionsource_etagsource_if_modified_sincesource_if_unmodified_sincesource_if_matchsource_if_none_matchsource_if_tags_match_condition)rC   rD   rE   rF   source_if_tags)r0   r   r$   r>   s      r/   get_source_conditionsrI   p   sz    09QS`aHm)!',F!M#)::.JD#Q GFJJ/@$$G*Vfjj9OQU.Vzz"BDI r1   c                 B    d| v rt        | j                  d            S y )Nencryption_scope)rK   )r   r$   )r   s    r/   get_cpk_scope_inforL   {   s"    V#VZZ8J-KLLr1   c                    | j                  dd       }|rkt        |t              r!t        |j                  |j
                        S t        |t              rt        |d   |j                  d            S t        d      y )Ncontainer_encryption_scope)default_encryption_scope!prevent_encryption_scope_overriderO   rP   zIContainer encryption scope must be dict or type ContainerEncryptionScope.)	r$   
isinstancer   r   rO   rP   dictr*   r+   )r   rK   s     r/   get_container_cpk_scope_inforS      s    zz">E&(@A()9)R)R2B2d2d  &-()9:T)U2B2F2FGj2k  cddr1   c                     | j                  dd       }|r.|t        vr&dj                  t              }t        d| d|       |xs	 t        d   S )Napi_version
zUnsupported API version 'z'. Please select from:
)r*   _SUPPORTED_API_VERSIONSjoinr&   )r   rU   versionss      r/   get_api_versionr[      sY    **]D1K{*AA99454[MAYZbYcdee51"55r1   self_vidc                 L    d|v rt        t        |j                  d            S | S )N
version_id)r   strr$   )r\   r   s     r/   get_version_idr`      s%    vCL122Or1   Ntagsc                     | y g }| rr| j                         D ]_  \  }}|j                  t        |d             |j                  d       |j                  t        |d             |j                  d       a |r|d= dj                  |      S )Nz.-)safe=&rW    )itemsappendr
   rY   )ra   
componentskeyvalues       r/   serialize_blob_tags_headerrl      s    |J**, 	#JCeCd34c"eE56c"		# rN77:r1   c                     g }| r-| j                         D cg c]  \  }}t        ||       }}}t        |      S c c}}w )N)rj   rk   )blob_tag_set)rg   r   r   )ra   tag_listkvs       r/   serialize_blob_tagsrr      s?    H8<

E1G+EE** Fs   >formaterc                    | dk(  rt        t        j                  d      }nt        | t              r2t        | j                        }t        t        j                  |      }nt        | d      r|	 | j                  }t        | t              rt        d      t        | j                  | j                  | j                  | j                   |	      }t        t        j"                  |
      }nFt        | t$              r(t'        |       }t        t        j(                  |      }n| sy t+        d      t-        |      S # t        $ r d}Y w xY w)NParquetDialect )typeparquet_text_configuration)record_separator)rw   json_text_configuration	quotecharFz>Unknown string value provided. Accepted values: ParquetDialect)column_separatorfield_quotery   escape_charheaders_present)rw   delimited_text_configuration)schema)rw   arrow_configurationzNFormat must be DelimitedTextDialect or DelimitedJsonDialect or ParquetDialect.)format)r   r   PARQUETrQ   r   r   	delimiterJSONhasattr
has_headerr6   r_   r&   r   r{   lineterminator
escapechar	DELIMITEDlistr   arrowr+   r   )rs   	qq_formatjson_serialization_settingsheaderscsv_serialization_settingsarrow_serialization_settingss         r/   serialize_query_formatr      s&   ##_%<%<Y\]		H2	3&;XM_M_&`#_%9%9Sno		;	'	))G h$]^^%?%// **%44 ++#&
"   **)C
	 
Hd	#'9'J$_%:%:Plm	hiiY//-  	G	s   2D? ?EE)N).typingr   r   r   r   r   r   r	   urllib.parser
   ImportErrorurllib2
azure.corer   _generated.modelsr   r   r   r   r   r   r   r   r   r   r   r   r   _modelsr   r   _leaser   rX   r_   r0   r7   r?   rI   rL   rS   r[   r`   rl   rr   r    r1   r/   <module>r      s   J I I" '    D' :#cN## # 8C=(3-'(	#8J%0A30F*G!H JXVkMl J$sCx. 5M $sCx. 5S tCH~ (<2H c3h HEZ<[ "6DcN 6s 6Xc] DcN xPS} 
Xd38n%= RU $+htCH~6 +( +0U30D+D%E 0(SeJf 0[  s   D D"!D"