????
Your IP : 3.145.196.175
3
��<_�u�@s�ddlZddlZddlZddlmZmZddlmZddlm Z m
Z
mZmZddl
mZmZmZddlmZmZed�ZgZdd lmZeejd
�ddlmZddlmZeZejZejZejZejZd
d�Z dd�Z!dd�Z"de_#de_$ejj%e_%e!e_&e'e"�e_(edddddddg7ZGdd�de)�Z*Gdd�dej+�Z+dd�Z,e-e+de,�ejd�d�d d!�Z.ejd!�xFd�D]>Z/d*e/Z0ede0d+e/�e1ej2d,e/�e3�e0<eje0��qxWx2d�D]*Z/e1ej4e/�e3�d3e/<ejd3e/��q�WxBd�D]:Z/d;e/Z0ede0d<e/�e1ej5e/�e3�e0<eje0��q�Wej5j6Z7edd=d>�ejd=�xBd�D]:Z/dCe/Z0e1ej8e/�e3�e0<ede0dDe/�eje0��qVWxBd�D]:Z/dLe/Z0e1ej9e/�e3�e0<ede0dMe/�eje0��q�WxBd�D]:Z/dUe/Z0e1ej:e/�e3�e0<ede0dVe/�eje0��q�WxBd�D]:Z/dZe/Z0ede0d[e/�e1ej;e/�e3�e0<eje0��q"Wx8d�D]0Z<e<j=dnd�d�Z0e1ee<�e3�e0<eje0��qfWGdodp�dpej>�Z>ee>�Z>ejdp�Gdqdr�drej?�Z?ee?�Z?ejdr�Gdsdt�dtej@�Z@ee@�Z@ejdt�Gdudv�dve@�ZAejdv�Gdwdx�dxe@�ZBejdx�dydz�ZCejdz�d{d|�ZDejd|�d}d~�ZEejd~�dd��ZFejd��d�d��ZGejd��Gd�d��d�ejH�ZHeeH�ZHejd��Gd�d��d�ejI�ZIeeI�ZIejd��d�d��ZJejd��d�d��ZKejd��d�d��ZLeeLd��ZLejd��d�d�d��ZMejd��eNed���sJd�d��ZOeOe_PejQejRejSfZTejd��edd�d��eZUejd��edd�d��dS)��N�)�wakeup_on_signal�register_sigint_fallback)�get_introspection_module)�variant_type_from_string�
source_new�source_set_callback�io_channel_read)�override�
deprecated�deprecated_attr)�PyGIDeprecationWarning�version_info�GLib)�_option�option)�_gi)�GErrorcCstjdtdd�dS)NzmSince version 3.11, calling threads_init is no longer needed. See: https://wiki.gnome.org/PyGObject/Threadingr)�
stacklevel)�warnings�warnr
�rr�/usr/lib64/python3.6/GLib.py�threads_init5srcCs2t|jt�rtj|j�}n|j}||jf||fkS)N)�
isinstance�domain�strrZquark_from_string�code)�selfrrZself_domain_quarkrrr�gerror_matches;srcCstj|�}t|||�S)N)rZquark_to_stringr)r�messagerZdomain_quarkrrr�gerror_new_literalEs
r!�Errorr�
OptionContext�OptionGroup�Pid�spawn_asyncc@sneZdZejjejjejjejjejj ejj
ejjejjejj
ejjejjejjejjejjd�Zdd�ZdS)�_VariantCreator)�b�y�n�q�i�u�x�t�h�d�s�o�g�vc
Cs�tj|�}||jkr"|j||�Stjj|�}|dkr>|j�S|j�rh|j|j|j �j
�|��|j�Syt|�Wn$tk
r�td||f��YnX|j
�r�|j�t|�kr�td||f��|j�r�t|�dkr�td||f��|j��r4|j �j
�}t|t��r|j�}xl|D]}|j|j||���qWnJ|dd�}x<|D]4}t|�j
�}|j|j||��|t|�d�}�qFW|j�S)aBCreate a GVariant object from given format and a value that matches
the format.
This method recursively calls itself for complex structures (arrays,
dictionaries, boxed).
Returns the generated GVariant.
If value is None it will generate an empty GVariant container type.
NzOCould not create array, tuple or dictionary entry from non iterable value %s %sz1Tuple mismatches value's number of elements %s %srz/Dictionary entries must have two elements %s %s�)r�VariantType�_LEAF_CONSTRUCTORSZVariantBuilder�new�endZis_maybeZ add_value�_create�elementZ
dup_string�iter� TypeErrorZis_tupleZn_items�lenZ
is_dict_entryZis_arrayr�dict�itemsr) r�format�valueZgvtypeZbuilderZelement_typer,Zremainer_format�duprrrr;is<
z_VariantCreator._createN)�__name__�
__module__�__qualname__r�VariantZnew_booleanZnew_byteZ new_int16Z
new_uint16Z new_int32Z
new_uint32Z new_int64Z
new_uint64Z
new_handleZ
new_doubleZ
new_stringZnew_object_pathZ
new_signatureZnew_variantr8r;rrrrr'Vsr'c@s�eZdZdd�Zedd��Zdd�Zdd�Zd d
�Zdd�Z d
d�Z
dd�Zdd�Ze
dd��Zdd�Zdd�Zdd�Zdd�Zdd�ZdS) rHcCs2tjj|�std|��t�}|j||�}||_|S)a�Create a GVariant from a native Python object.
format_string is a standard GVariant type signature, value is a Python
object whose structure has to match the signature.
Examples:
GLib.Variant('i', 1)
GLib.Variant('(is)', (1, 'hello'))
GLib.Variant('(asa{sv})', ([], {'foo': GLib.Variant('b', True),
'bar': GLib.Variant('i', 2)}))
z#Invalid GVariant format string '%s')rr7Zstring_is_validr>r'r;�
format_string)�clsrIrCZcreatorr5rrr�__new__�s
zVariant.__new__cGstjj|�S)N)rrH� new_tuple)�elementsrrrrL�szVariant.new_tuplecCs&y|j�Wntk
r YnXdS)N)�unref�ImportError)rrrr�__del__�szVariant.__del__cCs
|jd�S)NT)�print_)rrrr�__str__�szVariant.__str__cCs,t|d�r|j}n|j�}d||jd�fS)NrIzGLib.Variant('%s', %s)F)�hasattrrI�get_type_stringrQ)r�frrr�__repr__�s
zVariant.__repr__cCs$y
|j|�Stk
rdSXdS)NF)�equalr>)r�otherrrr�__eq__�s
zVariant.__eq__cCs&y|j|�Stk
r dSXdS)NT)rWr>)rrXrrr�__ne__�szVariant.__ne__cCst|j�|j�f�S)N)�hashrT�unpack)rrrr�__hash__�szVariant.__hash__csX�j�j�j�j�j�j�j�j�j�j �j
�j
�j
d�
}|j�j��}|rR|�S�j�j
d�r��fdd�t�j��D�}t|�S�j�j
d�r�i}x:t�j��D]*}�j|�}|jd�j�||jd�j�<q�W|S�j�j
d�r��fd d�t�j��D�S�j�j
d
��r�j�j�S�j�j
d��rD�j��s6dS�jd�j�Std
�j���dS)z1Decompose a GVariant into a native Python object.)
r(r)r*r+r,r-r.r/r0r1r2r3r4�(csg|]}�j|�j��qSr)�get_child_valuer\)�.0r,)rrr�
<listcomp>�sz"Variant.unpack.<locals>.<listcomp>za{r6r�acsg|]}�j|�j��qSr)r_r\)r`r,)rrrrasr5�mNzunsupported GVariant type )�get_booleanZget_byteZ get_int16Z
get_uint16Z get_int32Z
get_uint32Z get_int64Z
get_uint64Z
get_handleZ
get_double�
get_string�getrT�
startswith�range�
n_children�tupler_r\Zget_variant�NotImplementedError)rZLEAF_ACCESSORSZla�resr,r5r)rrr\�sH
zVariant.unpackc Cs�|dkrgS|jd�s|gSg}d}|dd�}x�|r�|d}||7}|dd�}|d
kr\q2|dkr�d}|}|dkrzd
}nd}xJ|dkr�|d}||7}|dd�}||kr�|d7}q�||kr�|d8}q�W|j|�d}q2W|S)a[Return a list of the element signatures of the topmost signature tuple.
If the signature is not a tuple, it returns one element with the entire
signature. If the signature is an empty tuple, the result is [].
This is useful for e. g. iterating over method parameters which are
passed as a single Variant.
z()r^�r6rNrcrb�{�)�}���)rcrb)r^rn)rg�append) �klassZ signature�result�head�tail�c�levelZupZdownrrr�split_signatures<
zVariant.split_signaturecCsP|j�dkrt|j��S|j�jd�s4|j�jd�r<|j�Std|j���dS)Nr2r3r4rbr^z'GVariant type %s does not have a length)r2r3r4)rTr?rergrir>)rrrr�__len__Is
zVariant.__len__cCs&|j�jd�r�y(|j|td��}|dkr0t|��|j�Stk
r�x>t|j��D].}|j |�}|j d�j�|krT|j d�j�SqTWt|��YnX|j�jd�s�|j�jd�r�t
|�}|dkr�|j�|}|dks�||j�kr�td��|j |�j�S|j�dk�r|j�j
|�Std|j���dS)
Nza{�*rr6rbr^zlist index out of ranger2r3r4z#GVariant type %s is not a container)r2r3r4)rTrgZlookup_valuer�KeyErrorr\r>rhrir_�int�
IndexErrorre�__getitem__)r�key�valr,r5rrrrQs,
zVariant.__getitem__cCs|j�S)N)�__bool__)rrrr�__nonzero__vszVariant.__nonzero__c
Cs�|j�dkr|j�d
kS|j�dkr,|j�S|j�dkrHt|j��d
kS|j�jd�sd|j�jd�rp|j�d
kS|j�dkr�t|j��SdS)Nr)r*r+r,r-r.r/r0r1rr(r2r3r4rbr^r5T) r)r*r+r,r-r.r/r0r1)r()r2r3r4)r5)rTr\rdr?rergri�bool)rrrrr�yszVariant.__bool__cCsZ|j�jd�std|j�fSg}x2t|j��D]"}|j|�}|j|jd�j��q0W|S)Nza{z$GVariant type %s is not a dictionaryr)rTrgr>rhrir_rrr\)rrlr,r5rrr�keys�s
zVariant.keysN)rErFrGrK�staticmethodrLrPrRrVrYrZr]r\�classmethodryrzrr�r�r�rrrrrH�s76%rHcCstjj|�\}}|S)N)rrHre)rrC�lengthrrrre�srer6cCs,t|t�rtj|jd�|�Stj||�SdS)NzUTF-8)r�bytesr�markup_escape_text�decode)�textr�rrrr��s
r��DESKTOP� DOCUMENTS�DOWNLOAD�MUSIC�PICTURES�PUBLIC_SHARE� TEMPLATES�VIDEOSZUSER_DIRECTORY_zGLib.UserDirectory.DIRECTORY_Z
DIRECTORY_�ERR�HUP�IN�NVAL�OUT�PRIZIO_�APPEND�GET_MASK�IS_READABLE�IS_SEEKABLE�MASK�NONBLOCK�SET_MASKZIO_FLAG_z
GLib.IOFlags.�IO_FLAG_IS_WRITEABLEzGLib.IOFlags.IS_WRITABLE�AGAIN�EOF�ERROR�NORMALZ
IO_STATUS_zGLib.IOStatus.�CHILD_INHERITS_STDIN�DO_NOT_REAP_CHILD�FILE_AND_ARGV_ZERO�LEAVE_DESCRIPTORS_OPEN�SEARCH_PATH�STDERR_TO_DEV_NULL�STDOUT_TO_DEV_NULLZSPAWN_zGLib.SpawnFlags.�HIDDEN�IN_MAIN�REVERSE�NO_ARG�FILENAME�OPTIONAL_ARG�NOALIASZOPTION_FLAG_zGLib.OptionFlags.�UNKNOWN_OPTION� BAD_VALUE�FAILEDZ
OPTION_ERROR_zGLib.OptionError.�
G_MINFLOAT�
G_MAXFLOAT�G_MINDOUBLE�G_MAXDOUBLE�
G_MINSHORT�
G_MAXSHORT�G_MAXUSHORT�G_MININT�G_MAXINT� G_MAXUINT� G_MINLONG� G_MAXLONG�
G_MAXULONG� G_MAXSIZE�
G_MINSSIZE�
G_MAXSSIZE�G_MINOFFSET�G_MAXOFFSET�_cs0eZdZddd�Zd dd�Z�fdd�Z�ZS)
�MainLoopNcCstjj|d�S)NF)rr�r9)rJ�contextrrrrK�szMainLoop.__new__cCsdS)Nr)rr�rrr�__init__�szMainLoop.__init__cs:t|j��&t��tt|�j�WdQRXWdQRXdS)N)r�quitr�superr��run)r)� __class__rrr��szMainLoop.run)N)N)rErFrGrKr�r��
__classcell__rr)r�rr��s
r�cseZdZd�fdd� Z�ZS)�MainContextTcstt|�j|�S)N)r�r�� iteration)rZ may_block)r�rrr��szMainContext.iteration)T)rErFrGr�r�rr)r�rr��sr�cs�eZdZdd�Z�fdd�Zdd�Zd�fdd � Zd
d�Zeed�Zd
d�Z dd�Z
ee e
�Zdd�Z
dd�Zee
e�Z�ZS)�SourcecOst�}||_t|dd�|S)N�__pygi_custom_sourceT)rr��setattr)rJ�args�kwargs�sourcerrrrKszSource.__new__cstt|�j�S)N)r�r�r�)rr�r�)r�rrr�szSource.__init__cCst|d�r|j�dS)Nr�)rSrN)rrrrrPs
zSource.__del__Ncs.t|d�rt|||�ntt|�j||�dS)Nr�)rSrr�r��set_callback)r�fn� user_data)r�rrr�s
zSource.set_callbackcCstj�dS)Ng���ư>)r�
get_real_time)rrrr�get_current_timeszSource.get_current_timez.GLib.Source.get_time() or GLib.get_real_time()cCs|j�S)N)Zget_priority)rrrrZ__get_priority$szSource.__get_prioritycCs|j|�dS)N)�set_priority)rrCrrrZ__set_priority'szSource.__set_prioritycCs|j�S)N)Zget_can_recurse)rrrrZ__get_can_recurse,szSource.__get_can_recursecCs|j|�dS)N)Zset_can_recurse)rrCrrrZ__set_can_recurse/szSource.__set_can_recurse)N)rErFrGrKr�rPr�r�rZ_Source__get_priorityZ_Source__set_priority�property�priorityZ_Source__get_can_recurseZ_Source__set_can_recurseZcan_recurser�rr)r�rr�s
r�cs0eZdZejfdd�Zejf�fdd� Z�ZS)�IdlecCstj�}||_|S)N)rZidle_source_newr�)rJr�r�rrrrK:szIdle.__new__cs&tt|�j�|tjkr"|j|�dS)N)r�r�r�r�PRIORITY_DEFAULTr�)rr�)r�rrr�?s
z
Idle.__init__)rErFrGrr�rKr�r�rr)r�rr�9sr�c@s,eZdZdejfdd�Zdejfdd�ZdS)�TimeoutrcCstj|�}||_|S)N)rZtimeout_source_newr�)rJ�intervalr�r�rrrrKIs
zTimeout.__new__cCs|tjkr|j|�dS)N)rr�r�)rr�r�rrrr�Ns
zTimeout.__init__N)rErFrGrr�rKr�rrrrr�Hsr�cOs |jdtj�}tj||f|��S)Nr�)rfrZPRIORITY_DEFAULT_IDLE�idle_add)�functionr�r�r�rrrr�Wsr�cOs"|jdtj�}tj|||f|��S)Nr�)rfrr��timeout_add)r�r�r�r�r�rrrr�_sr�cOs"|jdtj�}tj|||f|��S)Nr�)rfrr��timeout_add_seconds)r�r�r�r�r�rrrr�gsr�cs:t|t�st|tj�rftjdt�|}|�|}t��s@td��d|kr^tjdt�|d}q�tj }n6t
|�dks�t|d�r�td��|d�|dd�}t�t�r�fdd �}tjj��}njt�t
j
�r�tjd
kr���fdd �}tjj�j��}n4t�d��r$��fd
d �}tjj�j��}n�}�}|||||fS)NzFCalling io_add_watch without priority as second argument is deprecatedzthird argument must be callabler�zgCalling io_add_watch with priority keyword argument is deprecated, put it as second positional argumentr6rz%expecting callback as fourth argumentcs��|f|��S)Nr)r��cond�data)�callback�channelrr�<lambda>�sz(_io_add_watch_get_args.<locals>.<lambda>Zwin32cs��|f|��S)Nr)r�r�r�)r�r�rrr��s�filenocs��|f|��S)Nr)r�r�r�)r�r�rrr��s)rr}r�IOConditionrrr
�callabler>r�r?� IOChannel�unix_new�socket�sys�platformZwin32_new_socketr�rS)r�Z priority_� conditionZcb_and_user_datar�r�Zfunc_fdtransformZreal_channelr)r�r�r�_io_add_watch_get_args{s:
r�cOs*t||�\}}}}}tj||||f|��S)zOio_add_watch(channel, priority, condition, func, *user_data) -> event_source_id)r�r�io_add_watch)r�r�r�r�r��funcr�rrrr��sr�cs�eZdZddd�Z�fdd�Zddd�Zd d d
�Zd"dd�Zd$d
d�Zdd�Z e
jje
jj
e
jjd�Zd%dd�Zdd�Zeed�Zdd�Zdd�ZeZ�ZS)&r�NcCsN|dk rtjj|�S|dk r.tjj||p*d�S|dk rBtjj|�Std��dS)N�rzLeither a valid file descriptor, file name, or window handle must be supplied)rr�r�Znew_fileZwin32_new_fdr>)rJZfiledes�filename�modeZhwndrrrrK�szIOChannel.__new__cstt|�j�S)N)r�r�r�)rr�r�)r�rrr��szIOChannel.__init__r6cCs
t||�S)N)r )rZ max_countrrr�read�szIOChannel.readcCs |j�\}}}}|dkrdS|S)Nrm)� read_line)r� size_hint�status�bufr��terminator_posrrr�readline�szIOChannel.readlinecCsHg}tjj}x6|tjjkrB|j�\}}}}|dkr6d}|j|�qW|S)Nrm)r�IOStatusr�rrr)rr�linesrrr�rrrr� readlines�szIOChannel.readlinescCs8t|t�s|jd�}|dkr$t|�}|j||�\}}|S)NzUTF-8r6rq)rr��encoder?Zwrite_chars)rrZbuflenrZwrittenrrr�write�s
zIOChannel.writecCsx|D]}|j|�qWdS)N)r
)rr�linerrr�
writelines�s
zIOChannel.writelines)rr6rrcCs8y|j|}Wntk
r*td��YnX|j||�S)Nzinvalid 'whence' value)�_whence_mapr|�
ValueErrorZ
seek_position)r�offset�whence�wrrr�seek�s
zIOChannel.seekcOs"|jdtj�}t||||f|��S)Nr�)rfrr�r�)rr�r�r�r�r�rrr� add_watch�szIOChannel.add_watchzGLib.io_add_watch()cCs|S)Nr)rrrr�__iter__�szIOChannel.__iter__cCs(|j�\}}}}|tjjkr |St�dS)N)rrrr��
StopIteration)rrrr�rrrr�__next__�szIOChannel.__next__)NNNNrq)rqrq)rqrq)rqrq)rq)r)rErFrGrKr�r�rrr
rrZSeekTypeZSETZCURZENDr
rrrrr�nextr�rr)r�rr��s
r�c@seZdZdd�Zdd�ZdS)�PollFDcCstj�}||_|S)N)rrr�)rJ�fd�eventsZpollfdrrrrKszPollFD.__new__cCs||_||_dS)N)rr)rrrrrrr�szPollFD.__init__N)rErFrGrKr�rrrrrsrcOsg}t|�r�tjdt�|}|}t|�dkr<|jdtj�}q�t|�dkr\|}|jdtj�}q�t|�dkr||dg}|d}q�td��nT|}|}d|kr�|d}|}n6t|�dkr�t|d�r�|d}|dd�}ntd��d |kr�|r�td
��|d g}||||fS)NzHCalling child_watch_add without priority as first argument is deprecatedrr�r6rz'expected at most 4 positional argumentsr�z#expected callback as third argumentr�z'got multiple values for "data" argument) r�rrr
r?rfrr�r>)Zpriority_or_pidZpid_or_callbackr�r�r��pidr�r�rrr�_child_watch_add_get_argss:
rcOs&t||�\}}}}tj|||f|��S)z/child_watch_add(priority, pid, function, *data))rr�child_watch_add)r�r�r�rr�r�rrrrDsrcCstj�dS)Ng���ư>)rr�rrrrr�Msr�zGLib.get_real_time()cCstj||�dS)Nr)r�filename_from_utf8)Z
utf8stringr?rrrrXsr�unix_signal_add_fullcGstjdt�tj|�S)NzAGLib.unix_signal_add_full() was renamed to GLib.unix_signal_add())rrr
rZunix_signal_add)r�rrr�add_full_compatasr �glib_versionz<(GLib.MAJOR_VERSION, GLib.MINOR_VERSION, GLib.MICRO_VERSION)�pyglib_versionzgi.version_inforq)rq)r�r�r�r�r�r�r�r�)r�r�r�r�r�r�)r�r�r�r�r�r�r�)r�r�r�r�)r�r�r�r�r�r�r�)r�r�r�r�r�r�r�)r�r�r�)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rqrq)rq)Vrr�r�Z_ossighelperrr�modulerrrrrr Z overridesr
rrZgir
rr�__all__rrrrZ gi._errorrr"r#r$r%r&rrr!rErFZ __gtype__Zmatchesr�Znew_literal�objectr'rHrer�r�r*�attr�getattrZ
UserDirectory�globalsr�ZIOFlagsZIS_WRITABLEr�rZ
SpawnFlagsZOptionFlagsZOptionError�name�splitr�r�r�r�r�r�r�r�r�r�r�rrrr�rrSr rZ
MAJOR_VERSIONZ
MINOR_VERSIONZ
MICRO_VERSIONr!r"rrrr�<module>s
Fy
2
+
N
'