aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/spdxcheck.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/spdxcheck.py')
-rwxr-xr-xscripts/spdxcheck.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/scripts/spdxcheck.py b/scripts/spdxcheck.py
index a6041f29b18e..839e190bbd7a 100755
--- a/scripts/spdxcheck.py
+++ b/scripts/spdxcheck.py
@@ -4,6 +4,7 @@
4 4
5from argparse import ArgumentParser 5from argparse import ArgumentParser
6from ply import lex, yacc 6from ply import lex, yacc
7import locale
7import traceback 8import traceback
8import sys 9import sys
9import git 10import git
@@ -102,7 +103,7 @@ class id_parser(object):
102 raise ParserException(tok, 'Invalid License ID') 103 raise ParserException(tok, 'Invalid License ID')
103 self.lastid = id 104 self.lastid = id
104 elif tok.type == 'EXC': 105 elif tok.type == 'EXC':
105 if not self.spdx.exceptions.has_key(id): 106 if id not in self.spdx.exceptions:
106 raise ParserException(tok, 'Invalid Exception ID') 107 raise ParserException(tok, 'Invalid Exception ID')
107 if self.lastid not in self.spdx.exceptions[id]: 108 if self.lastid not in self.spdx.exceptions[id]:
108 raise ParserException(tok, 'Exception not valid for license %s' %self.lastid) 109 raise ParserException(tok, 'Exception not valid for license %s' %self.lastid)
@@ -167,6 +168,7 @@ class id_parser(object):
167 self.curline = 0 168 self.curline = 0
168 try: 169 try:
169 for line in fd: 170 for line in fd:
171 line = line.decode(locale.getpreferredencoding(False), errors='ignore')
170 self.curline += 1 172 self.curline += 1
171 if self.curline > maxlines: 173 if self.curline > maxlines:
172 break 174 break
@@ -201,7 +203,8 @@ def scan_git_tree(tree):
201 continue 203 continue
202 if not os.path.isfile(el.path): 204 if not os.path.isfile(el.path):
203 continue 205 continue
204 parser.parse_lines(open(el.path), args.maxlines, el.path) 206 with open(el.path, 'rb') as fd:
207 parser.parse_lines(fd, args.maxlines, el.path)
205 208
206def scan_git_subtree(tree, path): 209def scan_git_subtree(tree, path):
207 for p in path.strip('/').split('/'): 210 for p in path.strip('/').split('/'):