Skip to content

Commit 982bd30

Browse files
committed
Returned error check with print as call to mkdir may ignore other errors.
Also now calling Path.open(mode) instead of open(Path, mode).
1 parent 0ad827f commit 982bd30

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

binding_generator.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from __future__ import print_function
33
import json
44
import os
5+
import errno
56
from pathlib import Path
67

78
# Convenience function for using template get_node
@@ -48,14 +49,20 @@ def generate_bindings(api_filepath, use_template_get_node, output_dir="."):
4849
source_gen_folder = Path(output_dir) / 'src' / 'gen'
4950

5051
try:
51-
include_gen_folder.mkdir(parents=True, exist_ok=True)
52+
include_gen_folder.mkdir(parents=True)
5253
except os.error as e:
53-
exit(1)
54+
if e.errno == errno.EEXIST:
55+
print(str(source_gen_folder) + ": " + os.strerror(e.errno))
56+
else:
57+
exit(1)
5458

5559
try:
56-
source_gen_folder.mkdir(parents=True, exist_ok=True)
60+
source_gen_folder.mkdir(parents=True)
5761
except os.error as e:
58-
exit(1)
62+
if e.errno == errno.EEXIST:
63+
print(str(source_gen_folder) + ": " + os.strerror(e.errno))
64+
else:
65+
exit(1)
5966

6067
for c in classes:
6168
# print(c['name'])
@@ -68,23 +75,23 @@ def generate_bindings(api_filepath, use_template_get_node, output_dir="."):
6875
impl = generate_class_implementation(icalls, used_classes, c, use_template_get_node)
6976

7077
header_filename = include_gen_folder / (strip_name(c["name"]) + ".hpp")
71-
with open(header_filename, "w+") as header_file:
78+
with header_filename.open("w+") as header_file:
7279
header_file.write(header)
7380

7481
source_filename = source_gen_folder / (strip_name(c["name"]) + ".cpp")
75-
with open(source_filename, "w+") as source_file:
82+
with source_filename.open("w+") as source_file:
7683
source_file.write(impl)
7784

7885
icall_header_filename = include_gen_folder / '__icalls.hpp'
79-
with open(icall_header_filename, "w+") as icall_header_file:
86+
with icall_header_filename.open("w+") as icall_header_file:
8087
icall_header_file.write(generate_icall_header(icalls))
8188

8289
register_types_filename = source_gen_folder / '__register_types.cpp'
83-
with open(register_types_filename, "w+") as register_types_file:
90+
with register_types_filename.open("w+") as register_types_file:
8491
register_types_file.write(generate_type_registry(classes))
8592

8693
init_method_bindings_filename = source_gen_folder / '__init_method_bindings.cpp'
87-
with open(init_method_bindings_filename, "w+") as init_method_bindings_file:
94+
with init_method_bindings_filename.open("w+") as init_method_bindings_file:
8895
init_method_bindings_file.write(generate_init_method_bindings(classes))
8996

9097

0 commit comments

Comments
 (0)