summaryrefslogtreecommitdiff
path: root/hwdb/parse_hwdb.py
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-30 09:25:09 +0100
commitaeceb3901a5c36154321be78993ed68d537fc9b4 (patch)
treebab22fb4bb7851bb77e98ad10310136212fd4ab9 /hwdb/parse_hwdb.py
parentf644a6da7a6f11d20116842e2ce1c7e9c0b0ad64 (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.
Diffstat (limited to 'hwdb/parse_hwdb.py')
-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 5856d12af7..d94d8d13d8 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 []