transfer read material to own def and handle errors

This commit is contained in:
2019-02-10 11:15:19 +01:00
parent 52aee8e0e2
commit 6ff467a528

View File

@@ -58,11 +58,22 @@ def read_file(filename):
"""\
Read file as string
"""
with open(filename) as data_file:
return data_file.read()
def read_material(materialname, fullpath=True):
"""\
Read material file as string
"""
filename = os.path.join('data', materialname + '.json')
if fullpath:
filename = absolute_path(filename)
try:
with open(filename) as data_file:
return data_file.read()
return read_file(filename)
except (OSError, IOError) as err:
print(str(err))
print("Error: Material '%s' not found" % materialname, file=sys.stderr)
print(str(err), file=sys.stderr)
sys.exit(2)
@@ -171,8 +182,7 @@ def main():
print_dict(data_dict, False, 2)
elif args.command == 'get':
filename = os.path.join('data', args.materialname.lower() + '.json')
data = read_file(absolute_path(filename))
data = read_material(args.materialname)
if args.debug:
print("filename: " + filename)
if args.const_collection: