parse_hwdb: bail with an error if no matches or groups are detected

pyparsing sometimes changes behaviour and stops giving matches. This should
allow us to detect such scenario. With this change, parse_hwdb fails with
pyparsing 2.4 on F31.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2019-10-08 14:21:26 +02:00
parent 4f10b80786
commit f3c80bc01e
1 changed files with 6 additions and 4 deletions

View File

@ -224,11 +224,13 @@ def check_properties(groups):
check_one_keycode(prop, parsed.VALUE)
def print_summary(fname, groups):
n_matches = sum(len(matches) for matches, props in groups)
n_props = sum(len(props) for matches, props in groups)
print('{}: {} match groups, {} matches, {} properties'
.format(fname,
len(groups),
sum(len(matches) for matches, props in groups),
sum(len(props) for matches, props in groups)))
.format(fname, len(groups), n_matches, n_props))
if n_matches == 0 or n_props == 0:
error('{}: no matches or props'.format(fname))
if __name__ == '__main__':
args = sys.argv[1:] or glob.glob(os.path.dirname(sys.argv[0]) + '/[67]0-*.hwdb')