import os def fix_file(path): with open(path, 'r') as f: lines = f.readlines() new_lines = [] in_imports = False modified = False for line in lines: stripped = line.strip() if stripped == "imports:": in_imports = True new_lines.append(line) continue if in_imports: if not stripped.startswith("-"): if stripped and not stripped.startswith("#"): in_imports = False new_lines.append(line) else: import_path = stripped.lstrip("- ").strip() # Check for import of class: - ../classes/ClassName if import_path.startswith("../classes/"): print(f"Removing class import in {path}: {stripped}") modified = True # Comment it out instead of deleting? Or delete. Deleting is cleaner. continue else: new_lines.append(line) else: new_lines.append(line) if modified: with open(path, 'w') as f: f.writelines(new_lines) def process_directory(directory): for root, dirs, files in os.walk(directory): for file in files: if file.endswith(".yaml"): fix_file(os.path.join(root, file)) process_directory("schemas/20251121/linkml/modules/slots")