/usr/lib/python2.6/site-packages/dbus
NameSizeModeActions
mainloop/-0755rm
bus.py179950644editdlrm
bus.pyc155890644editdlrm
bus.pyo155890644editdlrm
connection.py272420644editdlrm
connection.pyc208020644editdlrm
connection.pyo208020644editdlrm
dbus_bindings.py11500644editdlrm
dbus_bindings.pyc14400644editdlrm
dbus_bindings.pyo14400644editdlrm
decorators.py146700644editdlrm
decorators.pyc123030644editdlrm
decorators.pyo123030644editdlrm
exceptions.py39010644editdlrm
exceptions.pyc45330644editdlrm
exceptions.pyo45330644editdlrm
glib.py17950644editdlrm
glib.pyc7580644editdlrm
glib.pyo7580644editdlrm
gobject_service.py31640644editdlrm
gobject_service.pyc26450644editdlrm
gobject_service.pyo26450644editdlrm
lowlevel.py16220644editdlrm
lowlevel.pyc7280644editdlrm
lowlevel.pyo7280644editdlrm
proxies.py245500644editdlrm
proxies.pyc199960644editdlrm
proxies.pyo199960644editdlrm
server.py46240644editdlrm
server.pyc38240644editdlrm
server.pyo38240644editdlrm
service.py352250644editdlrm
service.pyc256690644editdlrm
service.pyo256690644editdlrm
types.py4880644editdlrm
types.pyc8750644editdlrm
types.pyo8750644editdlrm
_dbus.py95820644editdlrm
_dbus.pyc95330644editdlrm
_dbus.pyo95330644editdlrm
_expat_introspect_parser.py33860644editdlrm
_expat_introspect_parser.pyc28700644editdlrm
_expat_introspect_parser.pyo28700644editdlrm
_version.py1090644editdlrm
_version.pyc2190644editdlrm
_version.pyo2190644editdlrm
__init__.py42000644editdlrm
__init__.pyc33340644editdlrm
__init__.pyo33340644editdlrm
Edit: /usr/lib/python2.6/site-packages/dbus/_expat_introspect_parser.py (3386B)
# Copyright (C) 2003, 2004, 2005, 2006 Red Hat Inc. # Copyright (C) 2003 David Zeuthen # Copyright (C) 2004 Rob Taylor # Copyright (C) 2005, 2006 Collabora Ltd. # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without # restriction, including without limitation the rights to use, copy, # modify, merge, publish, distribute, sublicense, and/or sell copies # of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from xml.parsers.expat import ExpatError, ParserCreate from dbus.exceptions import IntrospectionParserException class _Parser(object): __slots__ = ('map', 'in_iface', 'in_method', 'sig') def __init__(self): self.map = {} self.in_iface = '' self.in_method = '' self.sig = '' def parse(self, data): parser = ParserCreate('UTF-8', ' ') parser.buffer_text = True parser.StartElementHandler = self.StartElementHandler parser.EndElementHandler = self.EndElementHandler parser.Parse(data) return self.map def StartElementHandler(self, name, attributes): if not self.in_iface: if (not self.in_method and name == 'interface'): self.in_iface = attributes['name'] else: if (not self.in_method and name == 'method'): self.in_method = attributes['name'] elif (self.in_method and name == 'arg'): if attributes.get('direction', 'in') == 'in': self.sig += attributes['type'] def EndElementHandler(self, name): if self.in_iface: if (not self.in_method and name == 'interface'): self.in_iface = '' elif (self.in_method and name == 'method'): self.map[self.in_iface + '.' + self.in_method] = self.sig self.in_method = '' self.sig = '' def process_introspection_data(data): """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. """ try: return _Parser().parse(data) except Exception, e: raise IntrospectionParserException('%s: %s' % (e.__class__, e))