summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/dbus_exporter.py47
1 files changed, 14 insertions, 33 deletions
diff --git a/tools/dbus_exporter.py b/tools/dbus_exporter.py
index 4da8b82af4..f94f261e07 100755
--- a/tools/dbus_exporter.py
+++ b/tools/dbus_exporter.py
@@ -4,58 +4,39 @@ from argparse import ArgumentParser
from pathlib import Path
from subprocess import run, PIPE
-
def extract_interfaces_xml(output_dir, executable):
- list_interfaces_process = run(
+ proc = run(
args=[executable.absolute(), '--bus-introspect', 'list'],
stdout=PIPE,
check=True,
- universal_newlines=True,
- )
-
- interfaces_lines = list_interfaces_process.stdout.splitlines()
+ universal_newlines=True)
- interface_names = [x.split()[1] for x in interfaces_lines]
+ interface_names = (x.split()[1] for x in proc.stdout.splitlines())
for interface_name in interface_names:
- interface_introspection_run = run(
+ proc = run(
args=[executable.absolute(), '--bus-introspect', interface_name],
stdout=PIPE,
check=True,
- universal_newlines=True,
- )
+ universal_newlines=True)
interface_file_name = output_dir / (interface_name + '.xml')
- with open(interface_file_name, mode='w') as f:
- f.write(interface_introspection_run.stdout)
+ interface_file_name.write_text(proc.stdout)
interface_file_name.chmod(0o644)
-
-def iterate_executables(output_dir, executables):
- output_dir.mkdir(mode=0o755, exist_ok=True)
-
- for exe in executables:
- extract_interfaces_xml(output_dir, exe)
-
-
def main():
parser = ArgumentParser()
-
- parser.add_argument(
- 'output',
- type=Path,
- )
-
- parser.add_argument(
- 'executables',
- type=Path,
- nargs='+',
- )
+ parser.add_argument('output',
+ type=Path)
+ parser.add_argument('executables',
+ nargs='+',
+ type=Path)
args = parser.parse_args()
- iterate_executables(args.output, args.executables)
-
+ args.output.mkdir(exist_ok=True)
+ for exe in args.executables:
+ extract_interfaces_xml(args.output, exe)
if __name__ == '__main__':
main()