CasperSecurity

Current Path : /lib/python3/dist-packages/gi/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/gi/__pycache__/_propertyhelper.cpython-310.pyc

o

b�^S7�@s�ddlmZddlmZmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZejZejZejZejZejZej Z ej!Z!ej"Z"Gdd�de#�Z$dd�Z%dS)�)�_gi)�	TYPE_NONE�TYPE_INTERFACE�	TYPE_CHAR�
TYPE_UCHAR�TYPE_BOOLEAN�TYPE_INT�	TYPE_UINT�	TYPE_LONG�
TYPE_ULONG�
TYPE_INT64�TYPE_UINT64�	TYPE_ENUM�
TYPE_FLAGS�
TYPE_FLOAT�TYPE_DOUBLE�TYPE_STRING�TYPE_POINTER�
TYPE_BOXED�
TYPE_PARAM�TYPE_OBJECT�
TYPE_PYOBJECT�
TYPE_GTYPE�	TYPE_STRV�TYPE_VARIANTc@sJeZdZdZeeeeee	e
eee
iZedededeee	eeeeeediZeeeeededeee	eeeeeiZedededededededede	di	ZGdd	�d	e �Z!d
d
d
d
dde"j#d
d
f	dd�Z$d
d�Z%dd�Z&dd�Z'dd�Z(dd�Z)dd�Z*dd�Z+dd�Z,dd�Z-dd �Z.d!d"�Z/d#d$�Z0d%d&�Z1d'd(�Z2d)d*�Z3d+d,�Z4d
S)-�Propertya�Creates a new Property which when used in conjunction with
    GObject subclass will create a Python property accessor for the
    GObject ParamSpec.

    :param callable getter:
        getter to get the value of the property
    :param callable setter:
        setter to set the value of the property
    :param type type:
        type of property
    :param default:
        default value, must match the property type.
    :param str nick:
        short description
    :param str blurb:
        long description
    :param GObject.ParamFlags flags:
        parameter flags
    :keyword minimum:
        minimum allowed value (int, float, long only)
    :keyword maximum:
        maximum allowed value (int, float, long only)

    .. code-block:: python

         class MyObject(GObject.Object):
             prop = GObject.Property(type=str)

         obj = MyObject()
         obj.prop = 'value'

         obj.prop  # now is 'value'

    The API is similar to the builtin :py:func:`property`:

    .. code-block:: python

        class AnotherObject(GObject.Object):
            value = 0

            @GObject.Property
            def prop(self):
                'Read only property.'
                return 1

            @GObject.Property(type=int)
            def propInt(self):
                'Read-write integer property.'
                return self.value

            @propInt.setter
            def propInt(self, value):
                self.value = value
    �l����l����l�����gc@seZdZdd�ZdS)zProperty.__metaclass__cCsdS)Nz<class 'GObject.Property'>���selfrr�4/usr/lib/python3/dist-packages/gi/_propertyhelper.py�__repr__�szProperty.__metaclass__.__repr__N)�__name__�
__module__�__qualname__r"rrrr!�
__metaclass__�sr&Nc

Cs0d|_|dur	t}|�|�|_|�|�|_|��t|t�s"t	d��||_
t|t�s.t	d��||_||_||_
|r?|s?|j}n|rG|sG|j}n
|sQ|sQ|j}|j}|�|�||_|duro||��krnt	d|j|��f��n|��}||_|	dur�|	|��kr�t	d|j|��f��n|��}	|	|_d|_dS)Nznick must be a stringzblurb must be a stringz+Minimum for type %s cannot be lower than %dz,Maximum for type %s cannot be higher than %d)�name�object�_type_from_python�type�_get_default�default�_check_default�
isinstance�str�	TypeError�nick�blurb�__doc__�flags�_readonly_setter�_writeonly_getter�_default_getter�_default_setter�getter�fset�_get_minimum�minimum�_get_maximum�maximum�_exc)
r r9�setterr*r,r1r2r4r<r>rrr!�__init__�sX


������
zProperty.__init__cCsd|jpd|jjfS)Nz<GObject Property %s (%s)>z(uninitialized))r'r*rrrr!r"�s�zProperty.__repr__cCs6|dur|Sd|_|�|�}|jr|j}d|_|�|S�N)r?�fget)r �instance�klass�value�excrrr!�__get__�s
zProperty.__get__cCs:|durt�d|_|�|j|�|jr|j}d|_|�dSrB)r0r?�set_propertyr')r rDrFrGrrr!�__set__�s�zProperty.__set__cCs
|�|�S)z;Allows application of the getter along with init arguments.)r9�r rCrrr!�__call__�s
zProperty.__call__cCs |jr|j|_|j|_||_|S)z8Set the getter function to fget. For use as a decorator.)r3r2rCrKrrr!r9�s
zProperty.gettercCs||_|js|jj|_|S)z8Set the setter function to fset. For use as a decorator.)r:r'rCr#)r r:rrr!r@�s
zProperty.settercCs�||jvr
|j|St|t�r!t|tjtjtjtjtj	f�r!|j
S|ttt
ttttttttttttttttttt fvr=|St!d|f��)NzUnsupported type: %r)"�_type_from_pytype_lookupr.r*�
issubclassr�GObject�GEnum�GFlags�GBoxed�
GInterface�	__gtype__rrrrrr	rr
rrr
rrrrrrrrrrrr0)r �type_rrr!r)�s(


��
�zProperty._type_from_pythoncCs|dur|S|j�|jd�SrB)�_default_lookup�getr*)r r,rrr!r+
szProperty._get_defaultcCsp|j}|j}|tkr|dvrtd|f��|tkr#|dur!td��dS|tkr1|dur/td��dS|�t�rP|dur>td��t�	|��|�sNtd||f��dS|�t
�rgt�	|��|�setd||f��dS|�t�r�|dur�t|t
�s}tdt|���|D]}t|�ttfvr�td	t|���qdS|�t�r�|dur�t|d
�r�t�	|��t�s�td||f��dSdSdS)N)TFz%default must be True or False, not %rz)object types does not have default valuesz(GType types does not have default valuesz%enum properties needs a default valuez'enum value %s must be an instance of %rz(flags value %s must be an instance of %rzStrv value %s must be a listz'Strv value %s must contain only stringsrTz*variant value %s must be an instance of %r)r*r,rr0rr�is_arr�GTyperrr.�list�reprr/�bytesr�hasattr)r �ptyper,�valrrr!r-sV���
��
��
����zProperty._check_defaultcC�|j�|jd�SrB)�_min_value_lookuprWr*rrrr!r;3�zProperty._get_minimumcCr`rB)�_max_value_lookuprWr*rrrr!r=6rbzProperty._get_maximumcCst|d|j|�dS�N�_property_helper_)�setattrr'�r rDrFrrr!r8=szProperty._default_settercCst|d|j|j�Srd)�getattrr'r,�r rDrrr!r7@szProperty._default_gettercC�td|jt|�jf�|_dS)Nz%s property of %s is read-only�r0r'r*r#r?rgrrr!r5C��zProperty._readonly_settercCrj)Nz%s property of %s is write-onlyrkrirrr!r6GrlzProperty._writeonly_getterc	Cs�|j}|ttttttttfvr|j	|j
|jf}n6|tks/|t
ks/|�t�s/|�t�s/|�t�r4|jf}n|ttfvr=d}n|�t�sG|�t�rJd}nt|��|j|j|jf||jfS)Nr)r*rr	r
rrr
rrr<r>r,rrrXrrrrrrr�NotImplementedErrorr1r2r4)r r^�argsrrr!�get_pspec_argsOs&
����
zProperty.get_pspec_args)5r#r$r%r3�intr�boolr�floatrr/rr(rrMr	rr
r�
G_MAXFLOAT�G_MAXDOUBLE�G_MININTr
�	G_MINLONGrra�	G_MAXUINT�
G_MAXULONG�G_MAXINT�	G_MAXLONGrcrVr*r&r�PARAM_READWRITErAr"rHrJrLr9r@r)r+r-r;r=r8r7r5r6rorrrr!r'sr7�	�
��
�8
	
!rcs��j�di�}g}�j��D]1\}}t|t�r?|js||_|j|vr3||j|��kr,qtd|j��|��||j<|�|�q|sDdS|�_	d�jvsQd�jvrj|D]}|j
|jksa|j|j
kritd�jf��qSdd�}|�_�fd	d
�}|�_dS)z�
    Scans the given class for instances of Property and merges them
    into the classes __gproperties__ dict if it exists or adds it if not.
    �__gproperties__z0Property %s was already found in __gproperties__N�do_get_property�do_set_propertyzGObject subclass %r defines do_get/set_property and it also uses a property with a custom setter or getter. This is not allowedcSs|j�dd�}t||d�S�N�-�_)r'�replacerh)r �pspecr'rrr!�obj_get_property�sz,install_properties.<locals>.obj_get_propertycs2|j�dd�}t�|d�}|r|�||�dSdSr)r'r�rhr:)r r�rFr'�prop��clsrr!�obj_set_property�s
�z,install_properties.<locals>.obj_set_property)�__dict__rW�itemsr.rr'ro�
ValueError�appendr|rCr7r:r8r0r#r}r~)r��gproperties�propsr'r�r�r�rr�r!�install_propertiesbs:


����
r�N)&rr�
_constantsrrrrrrr	r
rrr
rrrrrrrrrrrrrrsrtruryrwrvrzrxr(rr�rrrr!�<module>sh=
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY