Use context manager for reading addon headers
This commit is contained in:
parent
07d51141ae
commit
d63615272c
@ -80,39 +80,37 @@ def modules_refresh(module_cache=addons_fake_modules):
|
|||||||
print("Error opening file %r: %s" % (mod_path, e))
|
print("Error opening file %r: %s" % (mod_path, e))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if speedy:
|
with file_mod:
|
||||||
lines = []
|
if speedy:
|
||||||
line_iter = iter(file_mod)
|
lines = []
|
||||||
l = ""
|
line_iter = iter(file_mod)
|
||||||
while not l.startswith("bl_info"):
|
l = ""
|
||||||
try:
|
while not l.startswith("bl_info"):
|
||||||
l = line_iter.readline()
|
try:
|
||||||
except UnicodeDecodeError as e:
|
l = line_iter.readline()
|
||||||
if not error_encoding:
|
except UnicodeDecodeError as e:
|
||||||
error_encoding = True
|
if not error_encoding:
|
||||||
print("Error reading file as UTF-8:", mod_path, e)
|
error_encoding = True
|
||||||
file_mod.close()
|
print("Error reading file as UTF-8:", mod_path, e)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if len(l) == 0:
|
if len(l) == 0:
|
||||||
break
|
break
|
||||||
while l.rstrip():
|
while l.rstrip():
|
||||||
lines.append(l)
|
lines.append(l)
|
||||||
try:
|
try:
|
||||||
l = line_iter.readline()
|
l = line_iter.readline()
|
||||||
except UnicodeDecodeError as e:
|
except UnicodeDecodeError as e:
|
||||||
if not error_encoding:
|
if not error_encoding:
|
||||||
error_encoding = True
|
error_encoding = True
|
||||||
print("Error reading file as UTF-8:", mod_path, e)
|
print("Error reading file as UTF-8:", mod_path, e)
|
||||||
file_mod.close()
|
return None
|
||||||
return None
|
|
||||||
|
|
||||||
data = "".join(lines)
|
data = "".join(lines)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
data = file_mod.read()
|
data = file_mod.read()
|
||||||
|
del file_mod
|
||||||
file_mod.close()
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ast_data = ast.parse(data, filename=mod_path)
|
ast_data = ast.parse(data, filename=mod_path)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user