image-align / patch_lightglue.py
Silvertk164's picture
fix: add patch_lightglue.py for lightglue+kornia coexistence
4bd8f5e verified
Raw
History Blame Contribute Delete
975 Bytes
"""Patch lightglue __init__.py to wrap optional imports in try/except."""
import pathlib
matches = list(pathlib.Path("/usr/local/lib").rglob("lightglue/__init__.py"))
if not matches:
print("lightglue __init__.py not found, skipping patch")
exit(0)
f = matches[0]
print(f"Patching {f}")
text = f.read_text()
lines = text.split("\n")
out = []
# Keep superpoint, lightglue, utils imports untouched
# Wrap disk, aliked, doghardnet etc. in try/except
keep = {"superpoint", "lightglue", "utils", "sift"}
for line in lines:
if line.startswith("from .") and "import" in line:
module = line.split("from .")[1].split(" ")[0]
if module in keep:
out.append(line)
else:
out.append("try:")
out.append(" " + line)
out.append("except Exception:")
out.append(" pass")
else:
out.append(line)
f.write_text("\n".join(out))
print("Patched OK")