Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
3-manifolds
GitHub Repository: 3-manifolds/Sage_macOS
Path: blob/main/bin/check_symlinks
170 views
#!/usr/bin/env python3
import os
import sys
from pathlib import Path
top = os.path.abspath(sys.argv[1])

for dirpath, dirname, filenames in os.walk(top):
    for filename in filenames:
        path = os.path.join(dirpath, filename)
        if os.path.islink(path):
            target = Path(path).resolve()
            if not target.exists():
                print('broken link: %s' % path)
            if not str(target).startswith(top):
                print('illegal link: %s' % path)