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@sgx`|jjD]O\}}|jd st| r?qnd}xH|jD]=}t||d}|dk rOt|trO|}PqOqOW|dkrt |j |t d}n|dk rt ||j }|dk rI|j }td||jj|jj|j|j|jj|jjfnt||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__tlentfind_vfunc_conflict_in_basest get_containert TypeErrorRt get_namespaceR"Rt __gtype__(Rt vfunc_nametpy_vfunct vfunc_infotbasetmethodtambiguous_baset base_info((s./usr/lib64/python2.7/site-packages/gi/types.pyt _setup_vfuncsPs2          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 (RRFRRR(R,RCRI(((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 R3RRRGR"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(NRRG(R RRGR"R7R5R(RMRLtklasstvfuncsR<tvtaklass((s./usr/lib64/python2.7/site-packages/gi/types.pyR7s    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.(RRRLtdict_((s./usr/lib64/python2.7/site-packages/gi/types.pyRTs  cC@sCd|krdS|jjdr&dStj||jddS(NR;s gi.overrides.t__gtype_name__(RFR0R t type_registerRE(Rt namespace((s./usr/lib64/python2.7/site-packages/gi/types.pyRYs  (RRFt__doc__RTRY(((s./usr/lib64/python2.7/site-packages/gi/types.pyRRs 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_RTtFalseRFRR:tTrueRCR3RRRR,RIR(RRt get_g_type(RRRLRZt is_gi_definedtis_python_defined((s./usr/lib64/python2.7/site-packages/gi/types.pyRTs&        cC@s t|S(N(tmro(R((s./usr/lib64/python2.7/site-packages/gi/types.pyRfscC@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.RERRFR0RR(Rtdoc((s./usr/lib64/python2.7/site-packages/gi/types.pyR^s   (RRFR^RTRfR$(((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 tlistR1twarningstwarntRuntimeWarningRfRJRR9tappendtremove(tCRLtbases_of_subclassesR?tsubclass_basest candidatetstnot_head((s./usr/lib64/python2.7/site-packages/gi/types.pyRfs6       )   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(R`RxRTRRcRtpytypeRR(RRtis_constructorRt get_argumentstget_sizet staticmethodt__new__Rw(RRRLRZtg_typeR((s./usr/lib64/python2.7/site-packages/gi/types.pyRTCs     cC@s|tkrdSt|jS(NRg(RxRR(R((s./usr/lib64/python2.7/site-packages/gi/types.pyR^Ys (RRFR^RTR$(((s./usr/lib64/python2.7/site-packages/gi/types.pyRx@s (ii(ii(#t __future__RtsysRjt _constantsRt docstringRt_giRRRRRRR RJRgR RUR RWt version_infoRtobjectRR4R7RSRRt_install_metaclassR_RfRwRx(((s./usr/lib64/python2.7/site-packages/gi/types.pyts(  4  [   . <