import os import json import re def sanitize_filename(filename): """Remove ou substitui caracteres inválidos em nomes de arquivos.""" return re.sub(r'[<>:"/\\|?*]', '_', filename) def compile_safe_codes_to_json(input_dir, output_file): """Compila todos os arquivos de códigos seguros em um único JSON.""" compiled_data = [] # Iterar por todos os arquivos na pasta de códigos seguros for filename in os.listdir(input_dir): if filename.endswith(".txt"): # Filtrar apenas arquivos de texto file_path = os.path.join(input_dir, filename) try: with open(file_path, 'r', encoding='utf-8') as f: content = f.read() # Adicionar os dados ao JSON compiled_data.append({ "filename": sanitize_filename(filename), "content": content, "safe": True # Marcar como código seguro }) except Exception as e: print(f"[ERROR] Could not process file {filename}: {e}") # Salvar os dados compilados no arquivo JSON try: with open(output_file, 'w', encoding='utf-8') as json_file: json.dump(compiled_data, json_file, indent=4) print(f"[SUCCESS] Compiled {len(compiled_data)} safe codes into {output_file}") except Exception as e: print(f"[ERROR] Could not write JSON file: {e}") if __name__ == "__main__": input_directory = "safe-code-analyzer/safe_codes" # Diretório dos códigos seguros output_json_file = "safe-code-analyzer/compiled_safe_codes.json" # Arquivo JSON de saída os.makedirs(os.path.dirname(output_json_file), exist_ok=True) compile_safe_codes_to_json(input_directory, output_json_file)