dbfdg 3 `] @sddlmZddlmZddlmZddlmZddlm Z yddl m Z m Z dZ Wn ddlm Z m Z d Z YnXGd d d e ZGd d d eZdS))GLib) bound_method)filter_identifier)timeout_to_glib)error_registration) Signature ParameterFTc@seZdZddZdS) DBUSSignaturecCsg}xN|jjD]@}|jjds&|jnd}t|jtkrF|d|j7}|j|qWdjdj |}|j t j k r|dj|j 7}|S)Narg:z({})z, z -> {}) Z parametersvaluesname startswithtype annotationstrappendformatjoinreturn_annotationrempty)selfresultparampZrenderedr"/usr/lib/python3.6/proxy_method.py__str__s zDBUSSignature.__str__N)__name__ __module__ __qualname__rrrrrr sr c@s<eZdZddZddZddZddZd d Zd d Zd S) ProxyMethodc CsN||_|jd|_|jd|j|_dd|D|_dd|D|_ddjdd |jDd |_ddj|jd |_t d t j }g}xPt |jD]B\}}t |d }|sd t |}t |t j |dd}|j|qWt|jd krtjn,t|jdkr |jd nddj|jd } t|g|| d|_trJ|jt |j|_dS)Nr.cSs@g|]8}|jdkr|jjdddkr|jjdd|jdfqS)r directioninrr r)tagattribget).0r rrr %sz(ProxyMethod.__init__..cSs2g|]*}|jdkr|jjdddkr|jdqS)r r%r&outr)r'r(r))r*r rrrr+&s(r css|]}|dVqdS)rNr)r*xrrr 'sz'ProxyMethod.__init__..)rrr r)rz, )r) _iface_namer(r r"_inargs_outargsr_sinargs _soutargsr ZPOSITIONAL_ONLY enumeraterrrlenrrr Z __signature__put_signature_in_doc__doc__) rZ iface_namemethodZ self_paramZ pos_paramsiarrZret_typerrr__init__ s&     BzProxyMethod.__init__c Oslt|t|j}|dkr2t|jdj| n(|dkrZt|jdjt|jt|x(|D] }|dkr`t|jdj|q`W|jdd}|jdd}|jdt}|j|j|j |j t j |j |t jj|jdt|df } |r | |j||ff7} |jjj| dSd} d} y|jjj| } Wn.tk rR} ztj| } WYdd} ~ XnX| r^| |j| SdS) Nrz+ missing {} required positional argument(s)z6 takes {} positional argument(s) but {} was/were giventimeoutcallback callback_argsz( got an unexpected keyword argument '{}')r>r?r@)r7r2 TypeErrorr"rr)tupleZ _bus_name_pathr1r rZVariantr4Z VariantTypenewr5r_finish_async_callZ_busZconZcallZ call_sync Exceptionrtransform_exception_unpack_return) rinstanceargskwargsZargdiffZkwargr>r?r@ call_argsrerrorerrr__call__<sB      zProxyMethod.__call__cCs8|j}t|jdkrdSt|jdkr0|dS|SdS)Nrr)unpackr7r3)rrretrrrrHjs zProxyMethod._unpack_returnc Csjd}d}y|j|}|j|}Wn,tk rL}ztj|}WYdd}~XnX|\}} || ||ddS)N)ZreturnedrM)Z call_finishrHrFrrG) rsourcerZ user_datarMZ return_argsrQerrr?r@rrrrEss zProxyMethod._finish_async_callcCs|dkr |St||S)N)r)rrIownerrrr__get__szProxyMethod.__get__cCs d|jdtt|ddS)Nz )r"rid)rrrr__repr__szProxyMethod.__repr__N) r r!r"r=rOrHrErUrXrrrrr#s .  r#N)Z gi.repositoryrZgenericrZ identifierrr>rrMrinspectrr r8Z _inspect3r objectr#rrrrs