diff options
Diffstat (limited to 'resolve-symlink.py')
-rwxr-xr-x | resolve-symlink.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/resolve-symlink.py b/resolve-symlink.py new file mode 100755 index 0000000..a9107a9 --- /dev/null +++ b/resolve-symlink.py | |||
@@ -0,0 +1,21 @@ | |||
1 | #!/usr/bin/env python | ||
2 | |||
3 | import os | ||
4 | import sys | ||
5 | import shutil | ||
6 | |||
7 | def resolve_symlinks(links): | ||
8 | for f in links: | ||
9 | try: | ||
10 | target = os.readlink(f) | ||
11 | if target[0] != '/': | ||
12 | # make absolute | ||
13 | target = os.path.join(os.path.dirname(f), target) | ||
14 | os.unlink(f) | ||
15 | shutil.move(target, f) | ||
16 | except OSError, err: | ||
17 | print "Failed: %s (%s)" % (f, err) | ||
18 | |||
19 | |||
20 | if __name__ == '__main__': | ||
21 | resolve_symlinks(sys.argv[1:]) | ||