From 7bd5b8614d2bb5602c52af05b637d712fbc0682d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 6 Feb 2021 09:42:54 +0100 Subject: [PATCH 1/2] update-dbus-docs: say "MODIFIED" not "OUTDATED" When executed in test mode, "OUTDATED" is appropriate. But when executed to actually update the text, after the tool executes, those pages are the opposite, not outdated. --- tools/update-dbus-docs.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/update-dbus-docs.py b/tools/update-dbus-docs.py index b453a0867e..562bfcf1c1 100755 --- a/tools/update-dbus-docs.py +++ b/tools/update-dbus-docs.py @@ -289,7 +289,7 @@ def process(page): with open(page, 'w') as out: out.write(out_text) - return dict(stats=stats, outdated=(out_text != src)) + return dict(stats=stats, modified=(out_text != src)) def parse_args(): p = argparse.ArgumentParser() @@ -317,17 +317,18 @@ 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()), collections.Counter()) - total = 'total', dict(stats=total, outdated=False) - outdated = [] + total = 'total', dict(stats=total, modified=False) + modified = [] + classification = 'OUTDATED' if opts.test else 'MODIFIED' for page, info in sorted(stats.items()) + [total]: m = info['stats']['missing'] t = info['stats']['total'] p = page + ':' - c = 'OUTDATED' if info['outdated'] else '' + c = classification if info['modified'] else '' if c: - outdated.append(page) + modified.append(page) print(f'{p:{mlen + 1}} {t - m}/{t} {c}') - if opts.test and outdated: - exit(f'Outdated pages: {", ".join(outdated)}\n' + if opts.test and modified: + exit(f'Outdated pages: {", ".join(modified)}\n' f'Hint: ninja -C {opts.build_dir} update-dbus-docs') From 64eb60b8c5ee5ec97fcd53dc5ab176ca575cf30e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 6 Feb 2021 10:02:37 +0100 Subject: [PATCH 2/2] update-dbus-docs: use color in summary --- tools/update-dbus-docs.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/update-dbus-docs.py b/tools/update-dbus-docs.py index 562bfcf1c1..397d131be8 100755 --- a/tools/update-dbus-docs.py +++ b/tools/update-dbus-docs.py @@ -31,6 +31,10 @@ BORING_INTERFACES = [ 'org.freedesktop.DBus.Introspectable', 'org.freedesktop.DBus.Properties', ] +RED = '\x1b[31m' +GREEN = '\x1b[32m' +YELLOW = '\x1b[33m' +RESET = '\x1b[39m' def xml_parser(): return etree.XMLParser(no_network=True, @@ -327,7 +331,8 @@ if __name__ == '__main__': c = classification if info['modified'] else '' if c: modified.append(page) - print(f'{p:{mlen + 1}} {t - m}/{t} {c}') + color = RED if m > t/2 else (YELLOW if m else GREEN) + print(f'{color}{p:{mlen + 1}} {t - m}/{t} {c}{RESET}') if opts.test and modified: exit(f'Outdated pages: {", ".join(modified)}\n'