summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2016-11-24 10:38:01 +0100
committerMartin Pitt <martin.pitt@ubuntu.com>2016-11-24 10:38:01 +0100
commit115a10c58d343d00b73bd9442f7ce6c294debad8 (patch)
treeb602ca55a0829312ad3ab22b814fb4a16ca9caa6
parentbbe16abb611d05c4aba255433f061bdce8c321ac (diff)
hwdb/parse_hwdb.py: open files with UTF-8 mode
pyparsing uses the system locale by default, which in the case of 'C' (in lots of build environment) will fail with a UnicodeDecodeError. Explicitly open it with UTF-8 encoding to guard against this.
-rwxr-xr-xhwdb/parse_hwdb.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/hwdb/parse_hwdb.py b/hwdb/parse_hwdb.py
index 5d4c5ea64d..556b859191 100755
--- a/hwdb/parse_hwdb.py
+++ b/hwdb/parse_hwdb.py
@@ -133,7 +133,8 @@ def convert_properties(group):
def parse(fname):
grammar = hwdb_grammar()
try:
- parsed = grammar.parseFile(fname)
+ with open(fname, 'r', encoding='UTF-8') as f:
+ parsed = grammar.parseFile(f)
except ParseBaseException as e:
error('Cannot parse {}: {}', fname, e)
return []