HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //lib/python3.9/site-packages/google/protobuf/internal/__pycache__/extension_dict.cpython-39.pyc
a

x��g� �@s8dZddlmZddlmZdd�ZGdd�de�ZdS)	z7Contains _ExtensionDict class to represent extensions.
�)�
type_checkers)�FieldDescriptorcCsjt|t�std|��|js*td|j��|js>td|j��|j|jurftd|j|jj|jjf��dS)z0Verify that the given extension handle is valid.z3HasExtension() expects an extension handle, got: %sz"%s" is not an extension.z""%s" is missing a containing_type.zKExtension "%s" extends message type "%s", but this message is of type "%s".N)�
isinstancer�KeyError�is_extension�	full_nameZcontaining_typeZ
DESCRIPTOR)�message�extension_handle�r
�K/usr/lib/python3.9/site-packages/google/protobuf/internal/extension_dict.py�_VerifyExtensionHandle&s"
����rc@speZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�_ExtensionDictz�Dict-like container for Extension fields on proto instances.

  Note that in all cases we expect extension handles to be
  FieldDescriptors.
  cCs
||_dS)z^
    Args:
      extended_message: Message instance for which we are the Extensions dict.
    N)�_extended_message)�selfZextended_messager
r
r�__init__Gsz_ExtensionDict.__init__cCs�t|j|�|jj�|�}|dur&|S|jtjkr@|�|j�}n�|jtj	kr�|j
}t|d�sj|jj�
|�t|j
dd�s�Jd|j|j
jf��|j
��}z|�|jj�Wq�ty�Yq�0n|jS|jj�||�}|S)z8Returns the current value of the given extension handle.N�_concrete_classzAUninitialized concrete class found for field %r (message type %r))rr�_fields�get�labelr�LABEL_REPEATEDZ_default_constructor�cpp_type�CPPTYPE_MESSAGE�message_type�hasattrZ_FACTORYZGetPrototype�getattrrrZ_SetListenerZ_listener_for_children�ReferenceErrorZ
default_value�
setdefault)rr	�resultrr
r
r�__getitem__Ns6
���
�z_ExtensionDict.__getitem__cCsHt||j�sdS|j��}|j��}dd�|D�}dd�|D�}||kS)NFcSsg|]}|jr|�qSr
�r��.0Zfieldr
r
r�
<listcomp>�z)_ExtensionDict.__eq__.<locals>.<listcomp>cSsg|]}|jr|�qSr
rr r
r
rr"�r#)r�	__class__r�
ListFields)r�otherZ	my_fieldsZother_fieldsr
r
r�__eq__ws

z_ExtensionDict.__eq__cCs
||kS�Nr
)rr&r
r
r�__ne__�sz_ExtensionDict.__ne__cCs |j��}dd�|D�}t|�S)NcSsg|]}|djr|�qS)rrr r
r
rr"�r#z*_ExtensionDict.__len__.<locals>.<listcomp>)rr%�len)r�fieldsZextension_fieldsr
r
r�__len__�s
z_ExtensionDict.__len__cCstd��dS)Nzunhashable object)�	TypeError�rr
r
r�__hash__�sz_ExtensionDict.__hash__cCs\t|j|�|jtjks$|jtjkr2td|j��t	�
|�}|�|�|jj|<|j�
�dS)zlIf extension_handle specifies a non-repeated, scalar extension
    field, sets the value of that field.
    zKCannot assign to extension "%s" because it is a repeated or composite type.N)rrrrrrrr-rrZGetTypeCheckerZ
CheckValuerZ	_Modified)rr	�valueZtype_checkerr
r
r�__setitem__�s
���
�
z_ExtensionDict.__setitem__cCs|j�|�dSr()rZClearExtension)rr	r
r
r�__delitem__�sz_ExtensionDict.__delitem__cCs|jj�|d�S)z�Tries to find a known extension with the specified name.

    Args:
      name: Extension full name.

    Returns:
      Extension field descriptor.
    N)rZ_extensions_by_namer)r�namer
r
r�_FindExtensionByName�s	z#_ExtensionDict._FindExtensionByNamecCs|jj�|d�S)z�Tries to find a known extension with the field number.

    Args:
      number: Extension field number.

    Returns:
      Extension field descriptor.
    N)rZ_extensions_by_numberr)r�numberr
r
r�_FindExtensionByNumber�s	z%_ExtensionDict._FindExtensionByNumbercCsdd�|j��D�S)Ncss |]}|djr|dVqdS)rNr)r!�fr
r
r�	<genexpr>�s
�z*_ExtensionDict.__iter__.<locals>.<genexpr>)rr%r.r
r
r�__iter__�sz_ExtensionDict.__iter__cCsft|j|�||jjvrdS|jtjkr:t|jj�|��S|jtj	krb|jj�|�}|duo`|j
SdS)NFT)rrrrrr�boolrrrZ_is_present_in_parent)rr	r0r
r
r�__contains__�sz_ExtensionDict.__contains__N)�__name__�
__module__�__qualname__�__doc__rrr'r)r,r/r1r2r4r6r9r;r
r
r
rr
?s)
r
N)r?Zgoogle.protobuf.internalrZgoogle.protobuf.descriptorrr�objectr
r
r
r
r�<module>s