ChordEstimation / patch_madmom.py
Richard Zhu
fix folder structure
8b30617
raw
history blame contribute delete
881 Bytes
#!/usr/bin/env python3
"""
Patch madmom to fix deprecated sklearn and other compatibility issues.
"""
import os
import site
def patch_file(filepath, old, new):
if not os.path.exists(filepath):
print(f"Skipping (not found): {filepath}")
return
with open(filepath, "r") as f:
content = f.read()
if old in content:
content = content.replace(old, new)
with open(filepath, "w") as f:
f.write(content)
print(f"Patched: {filepath}")
else:
print(f"No patch needed: {filepath}")
# Find madmom install location
site_packages = site.getsitepackages()[0]
madmom_base = os.path.join(site_packages, "madmom")
# Fix sklearn.externals.joblib import
patch_file(
os.path.join(madmom_base, "ml", "hmm.py"),
"from sklearn.externals import joblib",
"import joblib"
)
print("Madmom patching complete.")