PATH:
usr
/
lib64
/
python2.7
/
Tools
/
scripts
#! /usr/bin/env python # mkreal # # turn a symlink to a directory into a real directory import sys import os from stat import * join = os.path.join error = 'mkreal error' BUFSIZE = 32*1024 def mkrealfile(name): st = os.stat(name) # Get the mode mode = S_IMODE(st[ST_MODE]) linkto = os.readlink(name) # Make sure again it's a symlink f_in = open(name, 'r') # This ensures it's a file os.unlink(name) f_out = open(name, 'w') while 1: buf = f_in.read(BUFSIZE) if not buf: break f_out.write(buf) del f_out # Flush data to disk before changing mode os.chmod(name, mode) def mkrealdir(name): st = os.stat(name) # Get the mode mode = S_IMODE(st[ST_MODE]) linkto = os.readlink(name) files = os.listdir(name) os.unlink(name) os.mkdir(name, mode) os.chmod(name, mode) linkto = join(os.pardir, linkto) # for filename in files: if filename not in (os.curdir, os.pardir): os.symlink(join(linkto, filename), join(name, filename)) def main(): sys.stdout = sys.stderr progname = os.path.basename(sys.argv[0]) if progname == '-c': progname = 'mkreal' args = sys.argv[1:] if not args: print 'usage:', progname, 'path ...' sys.exit(2) status = 0 for name in args: if not os.path.islink(name): print progname+':', name+':', 'not a symlink' status = 1 else: if os.path.isdir(name): mkrealdir(name) else: mkrealfile(name) sys.exit(status) if __name__ == '__main__': main()
[+]
..
[-] setup.pyo
[edit]
[-] classfix.py
[edit]
[-] cvsfiles.pyo
[edit]
[-] fixps.pyc
[edit]
[-] fixdiv.py
[edit]
[-] ptags.pyc
[edit]
[-] pysource.pyc
[edit]
[-] h2py.py
[edit]
[-] svneol.py
[edit]
[-] win_add2path.pyc
[edit]
[-] suff.py
[edit]
[-] untabify.py
[edit]
[-] parseentities.py
[edit]
[-] objgraph.pyc
[edit]
[-] mailerdaemon.pyo
[edit]
[-] findlinksto.pyo
[edit]
[-] checkappend.py
[edit]
[-] fixps.py
[edit]
[-] untabify.pyo
[edit]
[-] setup.py
[edit]
[-] find_recursionlimit.pyc
[edit]
[-] nm2def.pyc
[edit]
[-] copytime.pyo
[edit]
[-] dutree.pyc
[edit]
[-] which.py
[edit]
[-] db2pickle.pyo
[edit]
[-] serve.pyo
[edit]
[-] svneol.pyc
[edit]
[-] lll.py
[edit]
[-] pindent.pyc
[edit]
[-] h2py.pyo
[edit]
[-] lll.pyo
[edit]
[-] analyze_dxp.py
[edit]
[-] byteyears.pyc
[edit]
[-] reindent-rst.pyo
[edit]
[-] serve.py
[edit]
[-] mkreal.py
[edit]
[-] ndiff.pyo
[edit]
[-] combinerefs.pyc
[edit]
[-] diff.pyc
[edit]
[-] fixnotice.pyo
[edit]
[-] texcheck.pyc
[edit]
[-] analyze_dxp.pyo
[edit]
[-] byext.py
[edit]
[-] dutree.py
[edit]
[-] which.pyc
[edit]
[-] texcheck.pyo
[edit]
[-] reindent.pyo
[edit]
[-] methfix.pyo
[edit]
[-] ndiff.py
[edit]
[-] texi2html.pyc
[edit]
[-] parseentities.pyc
[edit]
[-] checkpyc.pyc
[edit]
[-] hotshotmain.py
[edit]
[-] ftpmirror.pyo
[edit]
[-] fixps.pyo
[edit]
[-] redemo.pyo
[edit]
[-] fixcid.pyo
[edit]
[-] finddiv.pyo
[edit]
[-] which.pyo
[edit]
[-] redemo.py
[edit]
[-] suff.pyc
[edit]
[-] cleanfuture.py
[edit]
[-] combinerefs.py
[edit]
[-] ptags.pyo
[edit]
[-] byext.pyc
[edit]
[-] db2pickle.py
[edit]
[-] cvsfiles.py
[edit]
[-] pindent.py
[edit]
[-] diff.pyo
[edit]
[-] analyze_dxp.pyc
[edit]
[-] cleanfuture.pyo
[edit]
[-] dutree.pyo
[edit]
[-] eptags.pyo
[edit]
[-] pysource.py
[edit]
[-] reindent.pyc
[edit]
[-] google.pyc
[edit]
[-] logmerge.py
[edit]
[-] lfcr.py
[edit]
[-] finddiv.pyc
[edit]
[-] classfix.pyo
[edit]
[-] lfcr.pyo
[edit]
[-] treesync.py
[edit]
[-] hotshotmain.pyo
[edit]
[-] nm2def.py
[edit]
[-] byext.pyo
[edit]
[-] ftpmirror.py
[edit]
[-] treesync.pyc
[edit]
[-] copytime.py
[edit]
[-] finddiv.py
[edit]
[-] ifdef.py
[edit]
[-] patchcheck.pyo
[edit]
[-] objgraph.pyo
[edit]
[-] ptags.py
[edit]
[-] objgraph.py
[edit]
[-] cvsfiles.pyc
[edit]
[-] pysource.pyo
[edit]
[-] pathfix.py
[edit]
[-] linktree.pyc
[edit]
[-] eptags.py
[edit]
[-] patchcheck.py
[edit]
[-] mkreal.pyc
[edit]
[-] rgrep.pyc
[edit]
[-] google.py
[edit]
[-] win_add2path.py
[edit]
[-] texcheck.py
[edit]
[-] pathfix.pyo
[edit]
[-] gprof2html.py
[edit]
[-] pickle2db.pyc
[edit]
[-] findnocoding.pyc
[edit]
[-] nm2def.pyo
[edit]
[-] checkappend.pyo
[edit]
[-] texi2html.py
[edit]
[-] crlf.pyc
[edit]
[-] treesync.pyo
[edit]
[-] findlinksto.py
[edit]
[-] pdeps.pyc
[edit]
[-] fixheader.pyo
[edit]
[-] pdeps.pyo
[edit]
[-] findnocoding.py
[edit]
[-] setup.pyc
[edit]
[-] methfix.pyc
[edit]
[-] logmerge.pyo
[edit]
[-] reindent.py
[edit]
[-] hotshotmain.pyc
[edit]
[-] gprof2html.pyc
[edit]
[-] redemo.pyc
[edit]
[-] fixheader.py
[edit]
[-] diff.py
[edit]
[-] classfix.pyc
[edit]
[-] ftpmirror.pyc
[edit]
[-] google.pyo
[edit]
[-] db2pickle.pyc
[edit]
[-] pathfix.pyc
[edit]
[-] ifdef.pyo
[edit]
[-] xxci.pyc
[edit]
[-] rgrep.pyo
[edit]
[-] cleanfuture.pyc
[edit]
[-] reindent-rst.pyc
[edit]
[-] svneol.pyo
[edit]
[-] xxci.pyo
[edit]
[-] parseentities.pyo
[edit]
[-] md5sum.py
[edit]
[-] eptags.pyc
[edit]
[-] mailerdaemon.pyc
[edit]
[-] pickle2db.pyo
[edit]
[-] win_add2path.pyo
[edit]
[-] serve.pyc
[edit]
[-] byteyears.pyo
[edit]
[-] fixdiv.pyo
[edit]
[-] logmerge.pyc
[edit]
[-] pickle2db.py
[edit]
[-] checkpyc.pyo
[edit]
[-] fixdiv.pyc
[edit]
[-] find_recursionlimit.py
[edit]
[-] crlf.pyo
[edit]
[-] suff.pyo
[edit]
[-] lll.pyc
[edit]
[-] rgrep.py
[edit]
[-] untabify.pyc
[edit]
[-] ifdef.pyc
[edit]
[-] fixheader.pyc
[edit]
[-] fixcid.pyc
[edit]
[-] crlf.py
[edit]
[-] checkappend.pyc
[edit]
[-] xxci.py
[edit]
[-] findnocoding.pyo
[edit]
[-] mkreal.pyo
[edit]
[-] patchcheck.pyc
[edit]
[-] linktree.pyo
[edit]
[-] texi2html.pyo
[edit]
[-] fixcid.py
[edit]
[-] ndiff.pyc
[edit]
[-] md5sum.pyo
[edit]
[-] findlinksto.pyc
[edit]
[-] reindent-rst.py
[edit]
[-] linktree.py
[edit]
[-] byteyears.py
[edit]
[-] md5sum.pyc
[edit]
[-] copytime.pyc
[edit]
[-] combinerefs.pyo
[edit]
[-] fixnotice.py
[edit]
[-] pdeps.py
[edit]
[-] fixnotice.pyc
[edit]
[-] lfcr.pyc
[edit]
[-] checkpyc.py
[edit]
[-] methfix.py
[edit]
[-] pindent.pyo
[edit]
[-] mailerdaemon.py
[edit]
[-] gprof2html.pyo
[edit]
[-] h2py.pyc
[edit]
[-] find_recursionlimit.pyo
[edit]