
    ZThJ
                    <    d dl mZ d dlmZmZ d dlmZ ddZddZy)	    )annotations)MetadataKeyMetadataKeyType)MetadataValuec                   g }| j                         D ]  \  }}t        j                  }d}d}d}t        |t              r|}t        j
                  }n]t        |t              r|}t        j                  }n:t        |t        t        f      r|}t        j                  }nt        d| d|       t        ||      }t        ||||      }	|j                  |	        |S )zConverts metadata dictionary into a list of MetadataValue objects.

    Args:
        _metadata: Dictionary of metadata key-value pairs.

    Returns:
        List of MetadataValue objects.
    Nz)Unsupported metadata value type for key 'z': )nametype)keystring_valueboolean_valuenumber_value)itemsr   METADATA_KEY_TYPE_UNSPECIFIED
isinstancestrMETADATA_KEY_TYPE_STRINGboolMETADATA_KEY_TYPE_BOOLEANintfloatMETADATA_KEY_TYPE_NUMBER
ValueErrorr   MetadataProtoappend)
	_metadatametadatar
   valuemetadata_key_typer   r   r   wrapped_keywrapped_values
             ^/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/sift_client/util/metadata.pymetadata_dict_to_protor"      s     Hoo' '
U+IIeS! L / H Ht$!M / I IU|, L / H HHSQVPWXYY!s1BC%%'%	
 	&5'8 O    c                R   i }| D ]  }|j                   j                  |v r"t        d|j                   j                         |j                   j                  t        j
                  k(  r$|j                  ||j                   j                  <   |j                   j                  t        j                  k(  r$|j                  ||j                   j                  <   |j                   j                  t        j                  k(  s|j                  ||j                   j                  <   ! |S )zConverts a list of MetadataValue objects into a dictionary.

    Args:
        metadata: List of MetadataValue objects.

    Returns:
        Dictionary of metadata key-value pairs.
    zKey already exists: )r
   r   r   r	   r   r   r   r   r   r   r   )r   unwrapped_metadatamds      r!   metadata_proto_to_dictr'   6   s     9; >66;;,,3BFFKK=ABB66;;/BBB.0oorvv{{+VV[[OEEE.0.>.>rvv{{+VV[[ODDD.0oorvv{{+> r#   N)r   dict[str, str | float | bool]returnlist[MetadataProto])r   r*   r)   r(   )	
__future__r   sift.metadata.v1.metadata_pb2r   r   r   r   r"   r'    r#   r!   <module>r.      s    "
'Tr#   