o
    ED©iV  ã                   @   s   G d d„ de ƒZdS )c                       s4   e Zd ZdZe dd¡Z‡ fdd„Zdd„ Z‡  Z	S )ÚOpenTelemetryTraceContextz7xx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx-xxÚ1234567890abcdefÚxxxxxxxxxxxxxxxxc                    s<   d | _ d | _|| _d | _|d ur|  |¡ tt| ƒ ¡  d S )N)Útrace_idÚspan_idÚ
tracestateÚtrace_flagsÚparse_traceparentÚsuperr   Ú__init__)ÚselfÚtraceparentr   ©Ú	__class__© úX/var/www/Datamplify/venv/lib/python3.10/site-packages/clickhouse_driver/opentelemetry.pyr
      s   
z"OpenTelemetryTraceContext.__init__c                 C   sÜ   |  ¡ }t|ƒt| jƒkrtd t|ƒt| jƒ¡ƒ‚| | j¡| jkr*td |¡ƒ‚| d¡}t|d dƒ}|dkrCtd |d ¡ƒ‚t|d dd … dƒd> t|d d d… dƒ | _	t|d	 dƒ| _
t|d
 dƒ| _d S )Nz!unexpected length {}, expected {}z Malformed traceparant header: {}ú-é    é   z"unexpected version {}, expected 00é   é@   é   é   )ÚlowerÚlenÚtraceparent_tplÚ
ValueErrorÚformatÚ	translateÚtranslationÚsplitÚintr   r   r   )r   r   ÚpartsÚversionr   r   r   r      s$   ÿÿ
ÿ2z+OpenTelemetryTraceContext.parse_traceparent)
Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚ	maketransr   r
   r   Ú__classcell__r   r   r   r   r      s
    r   N)Úobjectr   r   r   r   r   Ú<module>   s   