3 <_e*@s~ddlZddlZddlmZddlZddlZddlmZmZddl m Z ddlm Z ddlm Z ddlmZddlmZejjd ZgZdd lmZeZx6dD].Zee eee<ed ed$eejeqWxXdD]PZej"ejdOe ee eee<WdQRXed ed$eejeqWxHdD]@Zejd\d]dZee eee<ed ed$eejeq0WxHdD]@Zejd\d]dZee eee<ed ed$eejeqzWejdpZ ejdqZ!ejdrZ"ejdsZ#ejdtZ$ejduZ%ejdvZ&ejdwZ'ejdxZ(ejdyZ)ejdzZ*ejd{Z+ejd|Z,ejd}Z-ejd~Z.ejdZ/ejdZ0ejdZ1ejdZ2ejdZ3ejd Z4ejdZ5ejdZ6ejdZ7ejdZ8ejdZ9ej:j;Zeee<ed edeejeqNWej>j?ej>j@BZAejdeBej>dred ddxLdD]DZejd\d]dZeejCeee<ed edeejeqWejDZDejEZEejFZFejGZGejHZHejIZIejJZJejKZKejLZLejMZMedd|d}drd dddddg 7ZejNZNejOZOejPZPejQZQe jRZRejSZSeddddddg7ZGddńdej:Z:ee:Z:ejdŃddDŽZejdǃddɄZTejdɃdd˄ZUdd̈́ZVejd̓ddτZWejdσddфZXejdуedddddddgZYdddڄZZejdڃGdd܄de[Z\ddބZ]ejdރddZ^ejdddZ_ejddddZ`ejddddZaejdejbZbejcZceddg7ZGddde[ZdddZeGdddejfZfeefZfefZHedd g7ZGdddejgZgeegZgejde jhZhejiZiejjZjehZked ddeddddg7ZdS(N) namedtuple)overridedeprecated_attr)GLib)PyGIDeprecationWarning)_propertyhelper) _signalhelper)_giGObject)_optionmarkup_escape_textget_application_nameset_application_name get_prgname set_prgname main_depthfilename_display_basenamefilename_display_namefilename_from_utf8uri_list_extract_urisMainLoop MainContextmain_context_default source_removeSourceIdleTimeoutPollFDidle_add timeout_addtimeout_add_seconds io_add_watchchild_watch_addget_current_time spawn_asynczGLib.PRIORITY_DEFAULTPRIORITY_DEFAULT_IDLE PRIORITY_HIGHPRIORITY_HIGH_IDLE PRIORITY_LOWIO_INIO_OUTIO_PRIIO_ERRIO_HUPIO_NVALIO_STATUS_ERRORIO_STATUS_NORMAL IO_STATUS_EOFIO_STATUS_AGAINIO_FLAG_APPENDIO_FLAG_NONBLOCKIO_FLAG_IS_READABLEIO_FLAG_IS_WRITEABLEIO_FLAG_IS_SEEKABLE IO_FLAG_MASKIO_FLAG_GET_MASKIO_FLAG_SET_MASKSPAWN_LEAVE_DESCRIPTORS_OPENSPAWN_DO_NOT_REAP_CHILDSPAWN_SEARCH_PATHSPAWN_STDOUT_TO_DEV_NULLSPAWN_STDERR_TO_DEV_NULLSPAWN_CHILD_INHERITS_STDINSPAWN_FILE_AND_ARGV_ZEROOPTION_FLAG_HIDDENOPTION_FLAG_IN_MAINOPTION_FLAG_REVERSEOPTION_FLAG_NO_ARGOPTION_FLAG_FILENAMEOPTION_FLAG_OPTIONAL_ARGOPTION_FLAG_NOALIASOPTION_ERROR_UNKNOWN_OPTIONOPTION_ERROR_BAD_VALUEOPTION_ERROR_FAILEDOPTION_REMAINING glib_versionignore G_MININT8 G_MAXINT8 G_MAXUINT8 G_MININT16 G_MAXINT16 G_MAXUINT16 G_MININT32 G_MAXINT32 G_MAXUINT32 G_MININT64 G_MAXINT64 G_MAXUINT64_ G_MINFLOAT G_MAXFLOAT G_MINDOUBLE G_MAXDOUBLE G_MINSHORT G_MAXSHORT G_MAXUSHORTG_MININTG_MAXINT G_MAXUINT G_MINLONG G_MAXLONG G_MAXULONG G_MAXSIZE G_MINSSIZE G_MAXSSIZE G_MINOFFSET G_MAXOFFSETZinvalidvoid GInterfaceZgcharZgucharZgbooleanZgintZguintZglongZgulongZgint64Zguint64GEnumGFlagsZgfloatZgdoubleZ gchararrayZgpointerGBoxedZGParamZPyObjectGTypeZGStrvZGVariantZGString TYPE_INVALID TYPE_NONETYPE_INTERFACE TYPE_CHAR TYPE_UCHAR TYPE_BOOLEANTYPE_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_VARIANT TYPE_GSTRING TYPE_UNICHAR TYPE_VALUEPidGError OptionGroup OptionContextPARAM_CONSTRUCTPARAM_CONSTRUCT_ONLYPARAM_LAX_VALIDATIONPARAM_READABLEPARAM_WRITABLEzGObject.ParamFlags.PARAM_READWRITEZ READWRITEz)GObject.ParamFlags.READWRITE (glib 2.42+) SIGNAL_ACTIONSIGNAL_DETAILEDSIGNAL_NO_HOOKSSIGNAL_NO_RECURSESIGNAL_RUN_CLEANUPSIGNAL_RUN_FIRSTSIGNAL_RUN_LASTzGObject.SignalFlags.GObjectWeakRef GParamSpecGPointerWarningfeatureslist_propertiesnewpygobject_version threads_init type_registercsNeZdZdddZfddZddZdd Zd d Zd d ZddZ Z S)ValueNcCs4tjj||dk r0|j||dk r0|j|dS)N) GObjectModuler__init__Zinit set_value)selfZ value_typepy_valuer/usr/lib64/python3.6/GObject.pyrs   zValue.__init__cs*|jr|jtkr|jtt|jdS)N)Z_free_on_deallocg_typervZunsetsuperr__del__)r) __class__rrrsz Value.__del__cCstj||dS)N)r Z _gvalue_set)rZboxedrrr set_boxedszValue.set_boxedcCs tj|S)N)r Z _gvalue_get)rrrr get_boxedszValue.get_boxedcCs|j}|tjkrtdnb|tkr2|j|nL|tkrH|j|n6|tkr^|j |n |t krt|j |n |t kr|j |n|tkr|j|n|tkr|j|n|tkr|j|n|tkr|j|n|tkr|j|n|tkr|j|nn|tkrt|tr0t|}nNtjdkrjt|trT|j d}nt!d|t"|fnt!d|t"|f|j#|n|t$kr|j%|n|j&t'r|j(|n|j&t)r|j*|n|j&t+r|j,|n|t-kr|j.|n|j&t/r|j0|nh|t1kr0|j t2|nN|t3krF|j4|n8|t5kr\|j6|n"|t7krr|j,|n td|dS) Nz+GObject.Value needs to be initialized firstrzUTF-8z'Expected string or unicode but got %s%szExpected string but got %s%szUnknown value type %s)rr)8rr rv TypeErrorr{Z set_booleanryZset_charrzZ set_ucharr|Zset_intr}Zset_uintr~Zset_longrZ set_ulongrZ set_int64rZ set_uint64rZ set_floatrZ set_doubler isinstancestrsys version_infoZunicodeencode ValueErrortypeZ set_stringrZ set_paramis_arZset_enumrZ set_flagsrrrZ set_pointerrZ set_objectrintrZ set_gtyperZ set_variantr)rrgtyperrrrsr                             zValue.set_valuecCs|j}|tkr|jS|tkr&|jS|tkr6|jS|tkrF|jS|t krV|j S|t krf|j S|t krv|jS|tkr|jS|tkr|jS|tkr|jS|tkr|jS|tkr|jS|tkr|jS|jtr|jS|jtr|jS|jt r|j!S|t"kr&|j#S|jt$r:|j%S|t&krL|j S|t'kr^|j(S|t)krp|j*S|t+kr|ndSdS)N),rr{Z get_booleanryZget_charrzZ get_ucharr|Zget_intr}Zget_uintr~Zget_longrZ get_ulongrZ get_int64rZ get_uint64rZ get_floatrZ get_doublerZ get_stringrZ get_paramrrZget_enumrZ get_flagsrrrZ get_pointerrZ get_objectrrZ get_gtyperZ get_variantr)rrrrr get_value-s\          zValue.get_valuecCsd|jj|jfS)Nz)rnamer)rrrr__repr___szValue.__repr__)NN) __name__ __module__ __qualname__rrrrrrr __classcell__rr)rrrs  A2rcCs"tj|}|tkrtd||S)Nzunknown type name: %s)rtype_from_namerv RuntimeError)rtype_rrrrgs  rcCstj|}|tkrtd|S)Nzno parent for type)r type_parentrvr)rparentrrrrqs rcCs4t|dr|j}|j r0|j r0td|dS)N __gtype__z1type must be instantiable or an interface, got %s)hasattrrZis_instantiatableZ is_interfacer)rrrr _validate_type_for_signal_method{s rcCst|tj|S)N)rrsignal_list_ids)rrrrrsrcCst|}tdd|DS)Ncss|]}tj|VqdS)N)r signal_name).0irrr sz$signal_list_names..)rtuple)rZidsrrrsignal_list_namessrcCst|tj||S)N)rr signal_lookup)rrrrrrsr SignalQuery signal_idritype signal_flags return_type param_typescCsX|dk rt||}tj|}|dkr(dS|jdkr6dSt|j|j|j|j|jt |j S)Nr) rr signal_queryrrrrrrrr)Z id_or_namerresrrrrs   rc@s$eZdZddZddZddZdS)_HandlerBlockManagercCs||_||_dS)N)obj handler_id)rrrrrrrsz_HandlerBlockManager.__init__cCsdS)Nr)rrrr __enter__sz_HandlerBlockManager.__enter__cCstj|j|jdS)N)rsignal_handler_unblockrr)rexc_type exc_value tracebackrrr__exit__sz_HandlerBlockManager.__exit__N)rrrrrrrrrrrsrcCstj||t||S)aBlocks the signal handler from being invoked until handler_unblock() is called. :param GObject.Object obj: Object instance to block handlers for. :param int handler_id: Id of signal to block. :returns: A context manager which optionally can be used to automatically unblock the handler: .. code-block:: python with GObject.signal_handler_block(obj, id): pass )rsignal_handler_blockr)rrrrrrs rcCs4tj|||\}}}|r ||fStd||fdS)a%Parse a detailed signal name into (signal_id, detail). :param str detailed_signal: Signal name which can include detail. For example: "notify:prop_name" :returns: Tuple of (signal_id, detail) :raises ValueError: If the given signal is unknown. z%s: unknown signal name: %sN)rsignal_parse_namer)detailed_signalrZforce_detail_quarkrrdetailrrrrs  rcCs t||d\}}tj||dS)NT)rrZsignal_remove_emission_hook)rrZhook_idrrrrrremove_emission_hooksrcCsd|fS)NFr)ihint return_accuhandler_return user_datarrrsignal_accumulator_first_winssrcCs | |fS)Nr)rrrrrrrsignal_accumulator_true_handledsradd_emission_hook signal_newc@s$eZdZddZddZddZdS)_FreezeNotifyManagercCs ||_dS)N)r)rrrrrrsz_FreezeNotifyManager.__init__cCsdS)Nr)rrrrrsz_FreezeNotifyManager.__enter__cCs|jjdS)N)rZ thaw_notify)rrrrrrrrsz_FreezeNotifyManager.__exit__N)rrrrrrrrrrrsrcstjjfdd}|S)Ncs ||S)Nr)argskwargs)funcrrmeth'sz_signalmethod..meth)giZ overrideswraps)rrr)rr _signalmethod#srcsjeZdZddZddZeZeZeZeZeZ eZ eZ eZ eZ eZeZeZeZeZeZejjZejjZejjZejjZeZeZeZeZejj Z ejj!Z!ejj"Z"ejj#Z#ejj$Z$ejj%Z%ejj&Z&ejj'Z'ejj(Z(ejj)Z)ejj*Z*ejj+Z+ejj,Z,ejj-Z-ejj.Z.ejj/Z/ejj0Z0fddZ1ddZ2e3Z4e5ej6Z7e5ej8Z9e5ej8Z:e5ej;Zd d Z?e?Z@ZAS) ObjectcOs tddS)Nz%This method is currently unsupported.)r)rrkargsrrr_unsupported_method.szObject._unsupported_methodcOs tddS)NzIData access methods are unsupported. Use normal Python attributes instead)r)rrrrrr_unsupported_data_method1szObject._unsupported_data_methodcstt|jt|S)aFreezes the object's property-changed notification queue. :returns: A context manager which optionally can be used to automatically thaw notifications. This will freeze the object so that "notify" signals are blocked until the thaw_notify() method is called. .. code-block:: python with obj.freeze_notify(): pass )rr freeze_notifyr)r)rrrriszObject.freeze_notifycst|jdd}|tjj@r"tjj}ntjj}|tjj@r^t |dkrPt d|gfdd}n}||||f|S)aConnect a callback to the given signal with optional user data. :param str detailed_signal: A detailed signal to connect to. :param callable handler: Callback handler to connect to the signal. :param *data: Variable data which is passed through to the signal handler. :param GObject.ConnectFlags connect_flags: Flags used for connection options. :returns: A signal id which can be used with disconnect. Z connect_flagsrr]zWUsing GObject.ConnectFlags.SWAPPED requires exactly one argument for user data, got: %scs(t|}|j}||g}|f|S)N)listpop)rrZswap)handlerrr new_handlers z(Object.connect_data..new_handler) getrZ ConnectFlagsZAFTERr r connect_afterconnectZSWAPPEDlenr)rrr datarflagsZ connect_funcr r)r r connect_data{s      zObject.connect_datacCstj|jjtdd|j|S)z-Deprecated, please use stop_emission_by_name.) stacklevel)warningswarn stop_emission__doc__rstop_emission_by_name)rrrrrrszObject.stop_emission)Brrrrrget_dataZ get_qdataset_dataZ steal_dataZ steal_qdataZ replace_dataZ replace_qdataZbind_property_fullZcompat_controlZinterface_find_propertyZinterface_install_propertyZinterface_list_propertiesZnotify_by_pspecZ run_disposeZ watch_closurerrrefZ_refZref_sinkZ _ref_sinkZunrefZ_unrefZforce_floatingZ_force_floatingr r Z get_propertyZget_propertiesZ set_propertyZset_propertiesZ bind_propertyrrZconnect_objectZconnect_object_afterZdisconnect_by_funcZhandler_block_by_funcZhandler_unblock_by_funcemitchainZweak_ref__copy__ __deepcopy__rrrZ handler_blockrrZhandler_unblockZsignal_handler_disconnectZ disconnectZhandler_disconnectZsignal_handler_is_connectedZhandler_is_connectedZsignal_stop_emission_by_namerrZemit_stop_by_namerrr)rrr-sh )     rcs$eZdZddZfddZZS)BindingcCstjdtdd|S)NzUsing parentheses (binding()) to retrieve the Binding object is no longer needed because the binding is returned directly from "bind_property.r)r)rrr)rrrr__call__s zBinding.__call__cs2t|drtdnt|ddtt|jdS)NZ_unboundz$binding has already been cleared outT)rrsetattrrr"unbind)r)rrrr%s   zBinding.unbind)rrrr#r%rrr)rrr"sr"propertyzGObject.PropertyPropertySignalSignalOverride)r r rrrrrrrrrrrrrrrrrrr r!r"r#r$)*r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrN) rPrQrRrSrTrUrVrWrXrYrZr[)r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnror*)rrrr)rrrrrr*)rrrrrrrr*)N)N)N)lrr collectionsrZ gi.overridesrZ gi.modulerrZ gi.repositoryrrrZpropertyhelperrZ signalhelperr moduleZget_introspection_moduler__all__r Zoptionrgetattrglobalsappendcatch_warnings simplefiltersplitnew_namerrvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrZ ParamFlagsZREADABLEZWRITABLErrZ SignalFlagsrtrrrsrqr rrrrurrrrrrrrrrrrrrobjectrrrrrrrrrrrr"r'r(r)r&rrrrs