
    jF                         d dl mZ ddl mZ ddl mZ ddlmZmZ ddlZ ej                  e	      Z
d	ed
eej                     deej                     deeej                     eej                     f   fdZy)   )
trace_data   )span   )
id_helpers    )ListTupleNdestination_project_nametraces_data
spans_datareturnc                    i }g }|D ]O  }t        j                  |j                        }|||j                  <   ||_        | |_        |j                  |       Q i }|D ]0  }t        j                  |j                        }|||j                  <   2 g }	|D ]  }|j                  |vr,t        j                  d|j                  |j                         =| |_        ||j                     |_        |j                  rZ|j                  |vr,t        j                  d|j                  |j                         |j                  |j                        |_	        ||j                     |_        |	j                  |        ||	fS )NzmWhile copying a span to a new project, found orphan span that will not be copied with id: %s and trace id: %szWhile copying a span to a new project, found orphan span with parent span id that will not be copied with id: %s and parent_span id: %s)r   generate_id
start_timeidproject_nameappendtrace_idLOGGERdebugparent_span_idget)
r   r   r   trace_id_mappingtraces_copytrace_r   span_id_mappingspan_
spans_copys
             y/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/api_objects/trace/migration.py!prepare_traces_and_spans_for_copyr!   
   sj   
 K##F$5$56&(#	66"  O##E$4$45$&!  J>>!11LL
 5)%..9##?: ^HH((
 #2#6#6u7K7K#LE "588,% - 0 
""    ) r   r   r   typingr	   r
   logging	getLogger__name__r   str	TraceDataSpanDatar!    r"   r    <module>r,      s        			8	$-#!-#j**+-# T]]#-# 4
$$%tDMM'::;	-#r"   