mirror of
https://github.com/systemd/systemd.git
synced 2025-03-28 02:50:16 +03:00
tools: make update-dbus-docs compatible with Python 3.7
Debian Stable uses Python 3.7, but there are a couple of 3.8 features used in the script. Add fallbacks.
This commit is contained in:
parent
78dff3f3d7
commit
668b3a42fe
@ -18,6 +18,11 @@ try:
|
||||
except ImportError as e:
|
||||
shlex_join = e
|
||||
|
||||
try:
|
||||
from shlex import quote as shlex_quote
|
||||
except ImportError as e:
|
||||
shlex_quote = e
|
||||
|
||||
class NoCommand(Exception):
|
||||
pass
|
||||
|
||||
@ -186,7 +191,10 @@ def subst_output(document, programlisting, stats):
|
||||
interface = programlisting.get('interface')
|
||||
|
||||
argv = [f'{opts.build_dir}/{executable}', f'--bus-introspect={interface}']
|
||||
print(f'COMMAND: {shlex_join(argv)}')
|
||||
if isinstance(shlex_join, Exception):
|
||||
print(f'COMMAND: {" ".join(shlex_quote(arg) for arg in argv)}')
|
||||
else:
|
||||
print(f'COMMAND: {shlex_join(argv)}')
|
||||
|
||||
try:
|
||||
out = subprocess.check_output(argv, text=True)
|
||||
@ -296,7 +304,7 @@ def parse_args():
|
||||
if __name__ == '__main__':
|
||||
opts = parse_args()
|
||||
|
||||
for item in (etree, shlex_join):
|
||||
for item in (etree, shlex_quote):
|
||||
if isinstance(item, Exception):
|
||||
print(item, file=sys.stderr)
|
||||
exit(77 if opts.test else 1)
|
||||
@ -308,7 +316,7 @@ if __name__ == '__main__':
|
||||
|
||||
# Let's print all statistics at the end
|
||||
mlen = max(len(page) for page in stats)
|
||||
total = sum((item['stats'] for item in stats.values()), start=collections.Counter())
|
||||
total = sum((item['stats'] for item in stats.values()), collections.Counter())
|
||||
total = 'total', dict(stats=total, outdated=False)
|
||||
outdated = []
|
||||
for page, info in sorted(stats.items()) + [total]:
|
||||
|
Loading…
x
Reference in New Issue
Block a user