a ó z]Q ã@s4ddlmZddlmZGdd„deƒZdd„ZdS)é)Ú ParserCreate)ÚIntrospectionParserExceptionc@s0eZdZdZdd„Zdd„Zdd„Zdd „Zd S) Ú_Parser©ÚmapÚin_ifaceÚ in_methodÚsigcCsi|_d|_d|_d|_dS)NÚr)Úself©r úC/usr/lib64/python3.9/site-packages/dbus/_expat_introspect_parser.pyÚ__init__!sz_Parser.__init__cCs0tddƒ}d|_|j|_|j|_| |¡|jS)NzUTF-8ú T)rZ buffer_textÚStartElementHandlerÚEndElementHandlerZParser)r ÚdataÚparserr r r Úparse's   z _Parser.parsecCsn|js |jsj|dkrj|d|_nJ|js:|dkr:|d|_n0|jrj|dkrj| dd¡dkrj|j|d7_dS)NÚ interfaceÚnameÚmethodÚargÚ directionÚinÚtype)rrÚgetr )r rZ attributesr r r r/s  z_Parser.StartElementHandlercCsR|jrN|js|dkrd|_n2|jrN|dkrN|j|j|jd|j<d|_d|_dS)Nrr rÚ.)rrr r)r rr r r r:sz_Parser.EndElementHandlerN)Ú__name__Ú __module__Ú __qualname__Ú __slots__rrrrr r r r rs  rc CsJztƒ |¡WStyD}ztd|j|fƒ‚WYd}~n d}~00dS)aßReturn a dict mapping ``interface.method`` strings to the concatenation of all their 'in' parameters, and mapping ``interface.signal`` strings to the concatenation of all their parameters. Example output:: { 'com.example.SignalEmitter.OneString': 's', 'com.example.MethodImplementor.OneInt32Argument': 'i', } :Parameters: `data` : str The introspection XML. Must be an 8-bit string of UTF-8. z%s: %sN)rrÚ ExceptionrÚ __class__)rÚer r r Úprocess_introspection_dataCsr%N)Zxml.parsers.expatrZdbus.exceptionsrÚobjectrr%r r r r Ús  $