import collections
import sys
import os
-import shlex
import subprocess
import io
except ModuleNotFoundError as e:
etree = e
+try:
+ from shlex import join as shlex_join
+except ImportError as e:
+ shlex_join = e
+
class NoCommand(Exception):
pass
interface = programlisting.get('interface')
argv = [f'{opts.build_dir}/{executable}', f'--bus-introspect={interface}']
- print(f'COMMAND: {shlex.join(argv)}')
+ print(f'COMMAND: {shlex_join(argv)}')
try:
out = subprocess.check_output(argv, text=True)
if __name__ == '__main__':
opts = parse_args()
- if isinstance(etree, Exception):
- print(etree, file=sys.stderr)
- exit(77 if opts.test else 1)
+ for item in (etree, shlex_join):
+ if isinstance(item, Exception):
+ print(item, file=sys.stderr)
+ exit(77 if opts.test else 1)
if not os.path.exists(f'{opts.build_dir}/systemd'):
exit(f"{opts.build_dir}/systemd doesn't exist. Use --build-dir=.")