
    ukim                     :   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ	 ej                  Z
ej                  Zej                  Zej                  Zej                  Zej                  Zej                   Zej"                  Zej$                  Zej&                  Zej(                  Zej*                  Zej,                  Zej.                  Zej0                  Zej2                  Zde	j4                  dej6                  fd	Zde	j4                  deej6                     fd
Zy)z%The public facing packet getter APIs.    )List)message)symbol_database)_packet_getter)packetr   returnc                 b   t        j                  |       }	 t        j                         j                  j                  |      }t        j                         j                  |      }t        j                  |       } |       }|j                  |       |S # t        $ r t        d|z        w xY w)a  Get the content of a MediaPipe proto Packet as a proto message.

  Args:
    packet: A MediaPipe proto Packet.

  Returns:
    A proto message.

  Raises:
    TypeError: If the message descriptor can't be found by type name.

  Examples:
    detection = detection_pb2.Detection()
    text_format.Parse('score: 0.5', detection)
    proto_packet = mp.packet_creator.create_proto(detection)
    output_proto = mp.packet_getter.get_proto(proto_packet)
  0Can not find message descriptor by type name: %s)r   _get_proto_type_namer   DefaultpoolFindMessageTypeByNameKeyError	TypeErrorGetPrototype_get_serialized_protoParseFromString)r   proto_type_name
descriptormessage_classserialized_protoproto_messages         Y/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/mediapipe/python/packet_getter.py	get_protor   *   s    & #77?/% ((*//EEJ "))+88D-#99&A/- 01	 
 %
F#$ % %%s   -B B.c                    t        j                  |       }|dk(  rg S t        j                  |       }	 t        j                         j
                  j                  |      }t        j                         j                  |      }t        j                  |       }g }|D ]+  } |       }|j                  |       |j                  |       - |S # t        $ r t        d|z        w xY w)aH  Get the content of a MediaPipe proto vector Packet as a proto message list.

  Args:
    packet: A MediaPipe proto vector Packet.

  Returns:
    A proto message list.

  Raises:
    TypeError: If the message descriptor can't be found by type name.

  Examples:
    proto_list = mp.packet_getter.get_proto_list(protos_packet)
  r   r
   )r   _get_proto_vector_size#_get_proto_vector_element_type_namer   r   r   r   r   r   r   _get_serialized_proto_listr   append)	r   vector_sizer   r   r   serialized_protosproto_message_listr   r   s	            r   get_proto_listr#   O   s      55f=+ AI #FFvN/% ((*//EEJ
 "))+88D-$??G+ -!OM!!"23m,- 
 
 %
F#$ % %%s   -C C$N)__doc__typingr   google.protobufr   r   $mediapipe.python._framework_bindingsr   r   	mp_packetget_str	get_bytesget_boolget_intget_uint	get_floatget_int_listget_bool_listget_float_listget_str_listget_image_listget_packet_listget_str_to_packet_dict	get_imageget_image_frame
get_matrixPacketMessager   r#        r   <module>r=      s
   ,  # + ? D

 
 $$	""

 
 ""$$	**,,..**.. 00'>> $$	 00&&
"i&& "7?? "J(9++ (W__0E (r<   