a T`YIc@sddlZddlmZmZddlmZmZmZddlm Z ddl m Z ddl m Z ddlZe dZgZGd d d ejZeeZed d/d d ZeGd ddejZedeGdddejZedeGdddejZedeGdddejZedeGdddejZedeGdddejZedeGdddejZedGdddejZeeZedGdddejZeeZedGdd d ejZeeZed Gd!d"d"ejZeeZed"Gd#d$d$ZGd%d&d&ej Z ee Z ed&Gd'd(d(ej!Z!ee!Z!ed(e j"e j#e j$fd)krxd*d+Z%nd,d+Z%Gd-d.d.ej&Z&ee&Z&ed.dS)0N)wakeup_on_signalregister_sigint_fallback)overridedeprecated_initwrap_list_store_sort_func)get_introspection_module) PyGIWarning)GLibGioc@seZdZddZdS) Applicationc Os|t|j^t8tjj|g|Ri|WdWdS1sP0YWdn1sn0YdSN)rZquitrr r run)selfargskwargsr4/usr/lib/python3.9/site-packages/gi/overrides/Gio.pyr 's zApplication.runN)__name__ __module__ __qualname__r rrrrr %sr csfdd}|S)Ncsjt|j|i|jddddj}rPtjd|ftddntjd|ftdddS)NZ.z6%s shouldn't be instantiated directly, use %s instead.r)Z stacklevelz&%s shouldn't be instantiated directly.)super__init__rZrsplitrwarningsZwarnr)rrrnameclsinsteadrrnew_init3sz_warn_init..new_initr)rrrrrr _warn_init1s r c@seZdZeejdZdS) VolumeMonitorzGio.VolumeMonitor.get()N)rrrr r r!rrrrrr!Csr!c@seZdZeejZdS)DBusAnnotationInfoN)rrrr r r"rrrrrr"Lsr"c@seZdZeejZdS) DBusArgInfoN)rrrr r r#rrrrrr#Tsr#c@seZdZeejZdS)DBusMethodInfoN)rrrr r r$rrrrrr$\sr$c@seZdZeejZdS)DBusSignalInfoN)rrrr r r%rrrrrr%dsr%c@seZdZeejZdS)DBusInterfaceInfoN)rrrr r r&rrrrrr&lsr&c@seZdZeejZdS) DBusNodeInfoN)rrrr r r'rrrrrr'tsr'c@seZdZdddZdS) ActionMapNcsNz t|Wnty&tdYn0dfdd }|D] }||q._process_action)NNNN)Ziterr+)rZentriesr/r0Zentryrr.radd_action_entries}s   zActionMap.add_action_entries)N)rrrr1rrrrr(|sr(c@s eZdZddZddZeZdS)FileEnumeratorcCs|Sr rrrrr__iter__szFileEnumerator.__iter__cCs|d}|dur|StdSr )Z next_fileZ StopIteration)rZ file_inforrr__next__s zFileEnumerator.__next__N)rrrr4r5Znextrrrrr2s r2c@seZdZddZdS)MenuItemcCs(|D]\}}}||t||qdSr )Zset_attribute_valuer r,)rZ attributesrZ format_stringvaluerrr set_attributeszMenuItem.set_attributeN)rrrr8rrrrr6sr6c@s\eZdZdZeejjddZddZddZ dd Z d d Z e Z d d Z ddZddZdS)Settingsz0Provide dictionary-like access to GLib.Settings.)ZschemaZpathZbackend)Z arg_namescCs ||vSr  list_keysrkeyrrr __contains__szSettings.__contains__cCs t|Sr )lenr;r3rrr__len__szSettings.__len__ccs|D] }|VqdSr r:r<rrrr4s zSettings.__iter__cCsdS)NTrr3rrr__bool__szSettings.__bool__cCs$||vrtd|f||S)Nunknown key: %r)KeyErrorZ get_valueunpackr<rrr __getitem__szSettings.__getitem__c Cs>||vrtd|f||}|d}|d}|dkrj|d}|ds\J|dd}n|dkr|ddsJ|dd}|}||vrtd||fnf|dkr|d}|d}|\} } || ks|| kr&td || | fntd t || |t ||dS) NrBrrZtypeZaZenumz$value %s is not an allowed enum (%s)rangezvalue %s not in range (%s - %s)z'Cannot handle allowed type range class ) rCZ get_rangeZget_child_valueZ get_stringZget_type_stringZ startswithrDr-ZNotImplementedErrorstrZ set_valuer r,) rr=r7rFZtype_vZtype_strZallowedZtuple_Zmin_Zmax_rrr __setitem__s2      zSettings.__setitem__cCs|Sr r:r3rrrkeys(sz Settings.keysN)rrr__doc__rr r9rr>r@r4rAZ __nonzero__rErIrJrrrrr9s!r9c@s4eZdZdZddZddZddZedd Zd S) _DBusProxyMethodCallz1Helper class to implement DBusProxy method calls.cCs||_||_dSr ) dbus_proxy method_name)rrMrNrrrr3sz_DBusProxyMethodCall.__init__c Csv|\}}}z||}WnFty^tdd\}} |rL||| |n ||| |YdS0|||||dS)Nr)Z call_finishZ ExceptionsysZexc_info_unpack_result) rZobjresultr/Zresult_callbackZerror_callbackZreal_user_dataretZetypeZerrrZ__async_result_handler7s   z+_DBusProxyMethodCall.__async_result_handlerc Os|r0|d}|dd}t|ts4td|nd}t|t|}d|vr|d|d|df}|j|j ||dd|d d d|j |n0|j |j ||dd|d d d}| |SdS) Nrrz6first argument must be the method signature string: %rz()Zresult_handlerZ error_handlerr/ZflagsZtimeoutr) isinstancerGr+r r,ZtupleZgetrMZcallrN*_DBusProxyMethodCall__async_result_handlerZ call_syncrP)rrrZ signatureZ arg_variantr/rQrrr__call__Fs,      z_DBusProxyMethodCall.__call__cCs2|}t|dkr|d}nt|dkr.d}|S)z?Convert a D-BUS return variant into an appropriate return valuerrN)rDr?)ZklassrQrrrrPcs    z#_DBusProxyMethodCall._unpack_resultN) rrrrKrrTrUZ classmethodrPrrrrrL0s rLc@seZdZdZddZdS) DBusProxya$Provide comfortable and pythonic method calls. This marshalls the method arguments into a GVariant, invokes the call_sync() method on the DBusProxy object, and unmarshalls the result GVariant back into a Python tuple. The first argument always needs to be the D-Bus signature tuple of the method call. Example: proxy = Gio.DBusProxy.new_sync(...) result = proxy.MyMethod('(is)', 42, 'hello') The exception are methods which take no arguments, like proxy.MyMethod('()'). For these you can omit the signature and just write proxy.MyMethod(). Optional keyword arguments: - timeout: timeout for the call in milliseconds (default to D-Bus timeout) - flags: Combination of Gio.DBusCallFlags.* - result_handler: Do an asynchronous method call and invoke result_handler(proxy_object, result, user_data) when it finishes. - error_handler: If the asynchronous call raises an exception, error_handler(proxy_object, exception, user_data) is called when it finishes. If error_handler is not given, result_handler is called with the exception object as result instead. - user_data: Optional user data to pass to result_handler for asynchronous calls. Example for asynchronous calls: def mymethod_done(proxy, result, user_data): if isinstance(result, Exception): # handle error else: # do something with result proxy.MyMethod('(is)', 42, 'hello', result_handler=mymethod_done, user_data='data') cCs t||Sr )rL)rrrrr __getattr__szDBusProxy.__getattr__N)rrrrKrWrrrrrVss,rVc@s,eZdZddZddZddZddZd S) ListModelcsvt|tr*fddt|tDSt|trn|dkrH|t7}|dkrTt|}|durjt|StdS)Ncsg|]}|qSr)get_item)Z.0ir3rrZ sz)ListModel.__getitem__..r) rSslicerFindicesr?int IndexErrorrYr+)rr=rRrr3rrEs     zListModel.__getitem__cCsD|j}t||s(td|j|jf|D]}||kr,dSq,dS)NExpected type %s.%sTF) get_item_typepytyperSr+rr)ritemrarZrrrr>s  zListModel.__contains__cCs|Sr )Z get_n_itemsr3rrrr@szListModel.__len__ccs"tt|D]}||Vq dSr )rFr?rY)rrZrrrr4szListModel.__iter__N)rrrrEr>r@r4rrrrrXs rX)ri9rcCs,|||gt|D]}|||qdSr )spliceZreversedZinsert)rposition n_removals additionsrHrrr_list_store_splices rgcCs||||dSr )rc)rrdrerfrrrrgscs8eZdZfddZfddZddZddZZS) ListStorecs t|}tt|j|g|RSr )rrrhsort)r compare_funcr/Z __class__rrriszListStore.sortcs"t|}tt|j||g|RSr )rrrh insert_sorted)rrbrjr/rkrrrls  zListStore.insert_sortedcCst|tr|t|\}}}|dkr@t||t||dgq|dkrft||dt||dgqtt|||ddD]}||qznFt|t r|dkr|t|7}|dks|t|krt ||nt dS)NrrrT)Zreverse) rSr[r\r?rgmaxZsortedrFZremover]r^r+)rr=startstopsteprZrrr __delitem__s    zListStore.__delitem__c Cs|t|tr|j}g}|D],}t||s>td|j|jf||q|t |\}}}|dkrt ||t ||d|nxt t |||} t | t |krt|dkrt ||dt ||d|dddn$t| |D]\} }t || d|gqn~t|trt|dkr|t |7}|dks4|t |kr8t|j}t||sbtd|j|jft ||d|gntdS)Nr_rrr)rSr[r`rar+rrappendr\r?rgrmZlistrFr-Zzipr]r^) rr=r7raZ valuelistrHrnrorpr\rZrrrrIsN          zListStore.__setitem__)rrrrirlrqrIZ __classcell__rrrkrrhs  rh)N)'rZ _ossighelperrrZ overridesrrrZmodulerZgirZ gi.repositoryr rOr Z__all__r rrr r!r"r#r$r%r&r'r(r2r6r9rLrVrXZ MAJOR_VERSIONZ MINOR_VERSIONZ MICRO_VERSIONrgrhrrrrZst            J   D C1 #  I