Zc@@sgddlmZddlZddlZddlmZddlmZddlm Z m Z m Z m Z m Z mZmZejZe ddlmZddlmZdejkodknrd Znd efd YZd ZdZdefdYZejedeefdYZdZ dZ!deefdYZ"dS(i(tabsolute_importNi(t TYPE_INVALID(tgenerate_doc_string(t InterfaceInfot ObjectInfot StructInfot VFuncInfotregister_interface_infothook_up_vfunc_implementationt_gobject(t_propertyhelper(t _signalhelpericC@s t|dS(Nt__call__(thasattr(tobj((s./usr/lib64/python2.7/site-packages/gi/types.pytcallable1stMetaClassHelpercB@s>eZdZdZdZdZdZdZRS(cC@s1x*|jjD]}t||j|qWdS(N(t__info__t get_methodstsetattrt__name__(tclst method_info((s./usr/lib64/python2.7/site-packages/gi/types.pyt_setup_methods6scC@sq|j}|j}|dkr%dSxE|jD]7}|j}t||s2t||t|q2q2WdS(N(Rtget_class_structtNoneRRR Rt classmethod(Rtinfot class_structRtname((s./usr/lib64/python2.7/site-packages/gi/types.pyt_setup_class_methods:s    cC@sUxN|jjD]=}|jjdd}t||t|j|jqWdS(Nt-t_(Rt get_fieldstget_nametreplaceRtpropertyt get_valuet set_value(Rt field_infoR((s./usr/lib64/python2.7/site-packages/gi/types.pyt _setup_fieldsEscC@sFx?|jjD].}|j}|j}t|||qWdS(N(Rt get_constantsR"R%R(Rt constant_infoRtvalue((s./usr/lib64/python2.7/site-packages/gi/types.pyt_setup_constantsJs  c C@sx||jjD]k\}}|jd st| r?qnd}xH|jD]=}t||d}|dk rOt|trO|}PqOqOW|dkrt |j |t d}n|dk r|d|j kst t||j }|dk re|j}td||jj|jj |j|j |jj|jj fnt||j|qqWdS(Ntdo_sTMethod %s() on class %s.%s is ambiguous with methods in base classes %s.%s and %s.%s(t__dict__titemst startswithRRt__mro__tgetattrt isinstanceRtfind_vfunc_info_in_interfacet __bases__tlenR"tAssertionErrortfind_vfunc_conflict_in_basest get_containert TypeErrorRt get_namespaceRt __gtype__(Rt vfunc_nametpy_vfunct vfunc_infotbasetmethodtambiguous_baset base_info((s./usr/lib64/python2.7/site-packages/gi/types.pyt _setup_vfuncsPs4          cC@s|jjd}|dks.t|t r2dS|jdkrT|jdkrTdSx1|jD]#}d|j}t|||qaWdS(NRsgi.repository.GObjecttObjectsdo_%s( R.tgetRR3Rt __module__Rt get_vfuncsR(Rt class_infoR?R((s./usr/lib64/python2.7/site-packages/gi/types.pyt_setup_native_vfuncs}s (RRGRRR(R,RDRJ(((s./usr/lib64/python2.7/site-packages/gi/types.pyR5s     -cC@sx|D]}|tkst|t st|d r?qnt|jtrx0|jjD]}|j|kra|SqaWnt|j |}|dk r|SqWdS(NR( t GInterfacet issubclassR R3RRRHR"R4R5R(tbasesR=R@tvfunc((s./usr/lib64/python2.7/site-packages/gi/types.pyR4s    cC@sx|D]}t|d st|jd r6qn|jj}|j}x0|D](}|j|krX||krX|SqXWt||j}|dk r|SqWdS(NRRH(R RRHR"R8R5R(RNRMtklasstvfuncsR=tvtaklass((s./usr/lib64/python2.7/site-packages/gi/types.pyR8s    t_GObjectMetaBasecB@s eZdZdZdZRS(s8Metaclass for automatically registering GObject classes.cC@sDtj||||tj|tj||j|jdS(N(ttypet__init__tpropertyhelpertinstall_propertiest signalhelpertinstall_signalst_type_registerR.(RRRMtdict_((s./usr/lib64/python2.7/site-packages/gi/types.pyRUs  cC@sCd|krdS|jjdr&dStj||jddS(NR<s gi.overrides.t__gtype_name__(RGR0R t type_registerRF(Rt namespace((s./usr/lib64/python2.7/site-packages/gi/types.pyRZs  (RRGt__doc__RURZ(((s./usr/lib64/python2.7/site-packages/gi/types.pyRSs t GObjectMetacB@s/eZdZdZdZedZRS(s+Meta class used for GI GObject based types.cC@stt|j|||t}|jd|jjkrGt}nt}| ro|jtjkrot}n|r|jn|rt |jt r|j n|j |j |jt |jt r|jqt |jtrt|jjqndS(Nsgi.repository.(tsuperR`RUtFalseRGRR;tTrueRDR3RRRR,RJR(RRt get_g_type(RRRMR[t is_gi_definedtis_python_defined((s./usr/lib64/python2.7/site-packages/gi/types.pyRUs&        cC@s t|S(N(tmro(R((s./usr/lib64/python2.7/site-packages/gi/types.pyRgscC@sX|tkrdS|jjdd}|dk r5|S|jjdrTt|jSdS(sFMeta class property which shows up on any class using this meta-class.tR_sgi.repository.s gi.overridesN(sgi.repository.s gi.overrides(R`R.RFRRGR0RR(Rtdoc((s./usr/lib64/python2.7/site-packages/gi/types.pyR_s   (RRGR_RURgR$(((s./usr/lib64/python2.7/site-packages/gi/types.pyR`s  cC@s{g}|gg}|jrx`|jD]U}t|drS|t|jg7}q%tjd|t|t|g7}q%W|t|jg7}nx|rvx`|D]X}|d}g|D]}||dkr|^q}|rt|jkrd}qPqW|dkrt dn|j |xE|D]<}|r3|d|kr3|d=|so|j |qoq3q3WqW|S(s\Compute the class precedence list (mro) according to C3, with GObject interface considerations. We override Python's MRO calculation to account for the fact that GObject classes are not affected by the diamond problem: http://en.wikipedia.org/wiki/Diamond_problem Based on http://www.python.org/download/releases/2.3/mro/ R1sQMixin class %s is an old style class, please update this to derive from "object".iis8Cannot create a consistent method resolution order (MRO)N( R5R tlistR1twarningstwarntRuntimeWarningRgRKRR:tappendtremove(tCRMtbases_of_subclassesR@tsubclass_basest candidatetstnot_head((s./usr/lib64/python2.7/site-packages/gi/types.pyRgs6       )   cO@sdS(N((targstkwargs((s./usr/lib64/python2.7/site-packages/gi/types.pytnothing<st StructMetacB@s&eZdZdZedZRS(s*Meta class used for GI Struct based types.cC@stt|j||||jj}|tkrJ|jdk rJdS|j|j xp|jj D]_}|j rn|j dkrn|j s|jjdkrnt||_t|_PqnqnWdS(Ntnewi(RaRyRURRdRtpytypeRR(RRtis_constructorRt get_argumentstget_sizet staticmethodt__new__Rx(RRRMR[tg_typeR((s./usr/lib64/python2.7/site-packages/gi/types.pyRUCs     cC@s|tkrdSt|jS(NRh(RyRR(R((s./usr/lib64/python2.7/site-packages/gi/types.pyR_Ys (RRGR_RUR$(((s./usr/lib64/python2.7/site-packages/gi/types.pyRy@s (ii(ii(#t __future__RtsysRkt _constantsRt docstringRt_giRRRRRRR RKRhR RVR RXt version_infoRtobjectRR4R8RTRSt_install_metaclassR`RgRxRy(((s./usr/lib64/python2.7/site-packages/gi/types.pyts(  4  [   . <