3 iRÛV0 ã@s4ddlmZddlmZGdd„deƒZdd„ZdS)é)Ú ParserCreate)ÚIntrospectionParserExceptionc@s0eZdZdZdd„Zdd„Zd d „Zd d „Zd S)Ú_ParserÚmapÚin_ifaceÚ in_methodÚsigcCsi|_d|_d|_d|_dS)NÚ)rrrr)Úself©r ú0/usr/lib64/python3.6/_expat_introspect_parser.pyÚ__init__sz_Parser.__init__cCs0tddƒ}d|_|j|_|j|_|j|ƒ|jS)NzUTF-8ú T)rZ buffer_textÚStartElementHandlerÚEndElementHandlerZParser)r ÚdataÚparserr r r Úparse%s   z _Parser.parsecCsr|js"|j rn|dkrn|d|_nL|j r>|dkr>|d|_n0|jrn|dkrn|jddƒdkrn|j|d7_dS)NÚ interfaceÚnameÚmethodÚargÚ directionÚinÚtype)rrÚgetr)r rZ attributesr r r r-s  z_Parser.StartElementHandlercCsT|jrP|j r|dkrd|_n2|jrP|dkrP|j|j|jd|j<d|_d|_dS)Nrr rÚ.)rrrr)r rr r r r8sz_Parser.EndElementHandlerN)rrrr)Ú__name__Ú __module__Ú __qualname__Ú __slots__r rrrr r r r rs  rcCsFy tƒj|ƒStk r@}ztd|j|fƒ‚WYdd}~XnXdS)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_dataAs r$N)Zxml.parsers.expatrZdbus.exceptionsrÚobjectrr$r r r r Ús  $