From 7ae32f13894b4a65fa00eba325c199289e7e2914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?iago=20sardi=C3=B1a?= Date: Fri, 1 Apr 2022 09:02:38 +0200 Subject: [PATCH] Catch possible exception with special characters If a file has a name with special characters it will broke execution. This fix allows execution to continue and prints the wrong file. --- clean_roms.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/clean_roms.py b/clean_roms.py index 39e47bb..f0da9c4 100644 --- a/clean_roms.py +++ b/clean_roms.py @@ -74,19 +74,22 @@ def describe_rom(self, full_path_filename): ret_tokens = [] ret_base_filename = os.path.basename(full_path_filename) - # Get all the tokens: - s_p = self.find(ret_base_filename, '(') - e_p = self.find(ret_base_filename, ')') - s_b = self.find(ret_base_filename, '[') - e_b = self.find(ret_base_filename, ']') - for i in range(len(s_p)): - ret_tokens.append(ret_base_filename[s_p[i]:e_p[i] + 1]) - for i in range(len(s_b)): - ret_tokens.append(ret_base_filename[s_b[i]:e_b[i] + 1]) - ret_stripped_filename = ret_base_filename - for m in ret_tokens: - ret_stripped_filename = ret_stripped_filename.replace(m, '') - ret_stripped_filename = ret_stripped_filename[:-4].strip() + ret_base_filename[-4:] + try: + # Get all the tokens: + s_p = self.find(ret_base_filename, '(') + e_p = self.find(ret_base_filename, ')') + s_b = self.find(ret_base_filename, '[') + e_b = self.find(ret_base_filename, ']') + for i in range(len(s_p)): + ret_tokens.append(ret_base_filename[s_p[i]:e_p[i] + 1]) + for i in range(len(s_b)): + ret_tokens.append(ret_base_filename[s_b[i]:e_b[i] + 1]) + ret_stripped_filename = ret_base_filename + for m in ret_tokens: + ret_stripped_filename = ret_stripped_filename.replace(m, '') + ret_stripped_filename = ret_stripped_filename[:-4].strip() + ret_base_filename[-4:] + except: + print("Problem proccessing: "+ret_base_filename) return ret_base_filename, ret_stripped_filename, ret_tokens, ret_base_filename