Skip to content

Commit 0af010a

Browse files
committed
We are only able to process text files. We therefore skip binary files.
1 parent d65259c commit 0af010a

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

file_utils.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
BINARY_FILE_EXTENSIONS = ['.pyc']
99

1010

11-
def list_all_files(directory):
11+
def list_all_text_files(directory):
1212
all_files = []
1313
for root, dirs, files in os.walk(directory, topdown=False):
1414
modified_root = os.path.relpath(root, directory)
@@ -17,7 +17,14 @@ def list_all_files(directory):
1717

1818
for filename in files:
1919
if not any(filename.endswith(ending) for ending in BINARY_FILE_EXTENSIONS):
20-
all_files.append(os.path.join(modified_root, filename))
20+
try:
21+
with open(os.path.join(root, filename), 'rb') as f:
22+
f.read().decode('utf-8')
23+
except UnicodeDecodeError:
24+
print(f"WARNING! Not listing {filename} in {root}. File is not a text file. Skipping it.")
25+
continue
26+
27+
all_files.append(os.path.join(modified_root, filename))
2128

2229
return all_files
2330

@@ -98,11 +105,11 @@ def add_current_path_if_no_path(filename):
98105

99106
def get_folders_diff(orig_folder, new_folder):
100107
if orig_folder:
101-
orig_files = list_all_files(orig_folder)
108+
orig_files = list_all_text_files(orig_folder)
102109
else:
103110
orig_files = []
104111

105-
new_files = list_all_files(new_folder)
112+
new_files = list_all_text_files(new_folder)
106113

107114
diff = {}
108115
for file_name in new_files:

plain2code.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def generate_end_to_end_tests(args, codeplainAPI, frid, plain_source_tree, linke
167167
def run_e2e_tests(args, codeplainAPI, frid, functional_requirement_id, plain_source_tree, linked_resources, existing_files, existing_files_content, code_diff, e2e_tests_folder_name):
168168
e2e_test_fix_count = 0
169169
implementation_fix_count = 1
170-
e2e_tests_files = file_utils.list_all_files(e2e_tests_folder_name)
170+
e2e_tests_files = file_utils.list_all_text_files(e2e_tests_folder_name)
171171
while True:
172172
e2e_test_fix_count += 1
173173

@@ -348,7 +348,7 @@ def render_functional_requirement(args, codeplainAPI, plain_source_tree, frid, a
348348
linked_resources[resource['target']] = all_linked_resources[resource['target']]
349349

350350
if previous_build_folder:
351-
existing_files = file_utils.list_all_files(previous_build_folder)
351+
existing_files = file_utils.list_all_text_files(previous_build_folder)
352352
existing_files_content = file_utils.get_existing_files_content(previous_build_folder, existing_files)
353353
else:
354354
existing_files = []

0 commit comments

Comments
 (0)