o
    RDi                     @  sL   d dl mZ d dlmZmZmZ ddlmZ eZdddZ	G d	d
 d
Z
dS )    )annotations)	b16decode	b16encodestandard_b64encode   )InternalErrorreturnbytes | bytearrayc                 C  s   t | }t| trt|S |S )z2Encodes a "bytes" object for passing to Snowflake.)r   
isinstance	bytearray)binary_valueresult r   [/var/www/Datamplify/venv/lib/python3.10/site-packages/snowflake/connector/sfbinaryformat.pybinary_to_snowflake   s   
r   c                   @  s"   e Zd ZdZd	ddZdd ZdS )
SnowflakeBinaryFormatz9Formats binary values ("bytes" objects) in hex or base64.r   Nonec                 C  s:   |  }|dkrt| _d S |dkrt| _d S td| )NHEXBASE64zUnrecognized binary format )upperr   _encoder   r   )selfnamer   r   r   __init__   s   

zSnowflakeBinaryFormat.__init__c                 C  s   |  |dS )z-Formats a "bytes" object, returning a string.ascii)r   decode)r   r   r   r   r   format!   s   zSnowflakeBinaryFormat.formatN)r   r   )__name__
__module____qualname____doc__r   r   r   r   r   r   r      s    
	r   N)r   r	   )
__future__r   base64r   r   r   errorsr   binary_to_pythonr   r   r   r   r   r   <module>   s   
	