OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
dbus
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/17/2025 09:32:20 AM
rwxr-xr-x
📄
__init__.py
3.74 KB
01/29/2018 07:57:57 PM
rw-r--r--
📁
__pycache__
-
10/21/2019 03:48:44 PM
rwxr-xr-x
📄
_compat.py
117 bytes
01/29/2018 07:57:57 PM
rw-r--r--
📄
_dbus.py
8.6 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
_expat_introspect_parser.py
3.3 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
bus.py
17.51 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
connection.py
27.12 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
decorators.py
14.85 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
exceptions.py
4.56 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
gi_service.py
3.43 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
glib.py
2.05 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
lowlevel.py
1.79 KB
01/29/2018 07:57:57 PM
rw-r--r--
📁
mainloop
-
10/21/2019 03:48:44 PM
rwxr-xr-x
📄
proxies.py
24.21 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
server.py
4.52 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
service.py
34.53 KB
01/29/2018 07:57:57 PM
rw-r--r--
📄
types.py
529 bytes
01/29/2018 07:57:57 PM
rw-r--r--
Editing: _expat_introspect_parser.py
Close
# Copyright (C) 2003, 2004, 2005, 2006 Red Hat Inc. <http://www.redhat.com/> # Copyright (C) 2003 David Zeuthen # Copyright (C) 2004 Rob Taylor # Copyright (C) 2005, 2006 Collabora Ltd. <http://www.collabora.co.uk/> # # 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 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 as e: raise IntrospectionParserException('%s: %s' % (e.__class__, e))