transfer read material to own def and handle errors
This commit is contained in:
@@ -58,11 +58,22 @@ def read_file(filename):
|
|||||||
"""\
|
"""\
|
||||||
Read file as string
|
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:
|
try:
|
||||||
with open(filename) as data_file:
|
return read_file(filename)
|
||||||
return data_file.read()
|
|
||||||
except (OSError, IOError) as err:
|
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)
|
sys.exit(2)
|
||||||
|
|
||||||
|
|
||||||
@@ -171,8 +182,7 @@ def main():
|
|||||||
print_dict(data_dict, False, 2)
|
print_dict(data_dict, False, 2)
|
||||||
|
|
||||||
elif args.command == 'get':
|
elif args.command == 'get':
|
||||||
filename = os.path.join('data', args.materialname.lower() + '.json')
|
data = read_material(args.materialname)
|
||||||
data = read_file(absolute_path(filename))
|
|
||||||
if args.debug:
|
if args.debug:
|
||||||
print("filename: " + filename)
|
print("filename: " + filename)
|
||||||
if args.const_collection:
|
if args.const_collection:
|
||||||
|
|||||||
Reference in New Issue
Block a user