o ñt3bQ ã@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 ú?/usr/lib/python3/dist-packages/dbus/_expat_introspect_parser.pyÚ__init__!s z_Parser.__init__cCs0tddƒ}d|_|j|_|j|_| |¡|jS)NzUTF-8ú T)rÚ buffer_textÚStartElementHandlerÚEndElementHandlerÚParser)r ÚdataÚparserr r r Úparse's  z _Parser.parsecCs†|js|js|dkr|d|_dSdSdS|js#|dkr#|d|_dS|jr=|dkr?| dd¡dkrA|j|d7_dSdSdSdS)NÚ interfaceÚnameÚmethodÚargÚ directionÚinÚtype)rrÚgetr )r rÚ attributesr r r r/sÿþz_Parser.StartElementHandlercCs`|jr*|js|dkrd|_dS|jr,|dkr.|j|j|jd|j<d|_d|_dSdSdSdS)Nrr rÚ.)rrr r)r rr r r r:s  úz_Parser.EndElementHandlerN)Ú__name__Ú __module__Ú __qualname__Ú __slots__rrrrr r r r rs  rc Cs:ztƒ |¡WSty}z td|j|fƒ‚d}~ww)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_dataCs €ÿr(N)Úxml.parsers.expatrÚdbus.exceptionsrÚobjectrr(r r r r Ús   $