diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-03-23 11:34:46 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-23 11:34:46 +0900 |
commit | 14acae357bb7928cadb10335951157559a39ac2e (patch) | |
tree | cee015fbdd1fa38fa110d428aacb3079652e4992 /tools | |
parent | a8c122c4cb6ae0634682663c80f9cace2d1afb50 (diff) | |
parent | 5cad4c70e34322aaf07202c94fbc36839f638016 (diff) | |
download | systemd-14acae357bb7928cadb10335951157559a39ac2e.tar.gz |
Merge pull request #22825 from keszybz/assorted-cleanups
Assorted cleanups
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/dbus_exporter.py | 47 |
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() |