diff options
| author | Skip Montanaro <[email protected]> | 2021-02-16 20:14:16 -0600 |
|---|---|---|
| committer | Skip Montanaro <[email protected]> | 2021-02-16 20:14:16 -0600 |
| commit | c2587c76f1b416cdbecb979e54941933246bf856 (patch) | |
| tree | bb61ee9128075ce22af4eafa232f13c2e5a07896 /demo/scripts/mkreal.py | |
| parent | d90761a005b24018ae237bf551515772a1de656f (diff) | |
| download | python-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.tar.xz python-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.zip | |
starting over
Diffstat (limited to 'demo/scripts/mkreal.py')
| -rwxr-xr-x | demo/scripts/mkreal.py | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/demo/scripts/mkreal.py b/demo/scripts/mkreal.py index 19fef28..1d62ba0 100755 --- a/demo/scripts/mkreal.py +++ b/demo/scripts/mkreal.py @@ -16,50 +16,50 @@ error = 'mkreal error' BUFSIZE = 32*1024 def mkrealfile(name): - st = posix.stat(name) # Get the mode - mode = S_IMODE(st[ST_MODE]) - linkto = posix.readlink(name) # Make sure again it's a symlink - f_in = open(name, 'r') # This ensures it's a file - posix.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 - posix.chmod(name, mode) + st = posix.stat(name) # Get the mode + mode = S_IMODE(st[ST_MODE]) + linkto = posix.readlink(name) # Make sure again it's a symlink + f_in = open(name, 'r') # This ensures it's a file + posix.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 + posix.chmod(name, mode) def mkrealdir(name): - st = posix.stat(name) # Get the mode - mode = S_IMODE(st[ST_MODE]) - linkto = posix.readlink(name) - files = posix.listdir(name) - posix.unlink(name) - posix.mkdir(name, mode) - posix.chmod(name, mode) - linkto = cat('..', linkto) - # - for file in files: - if file not in ('.', '..'): - posix.symlink(cat(linkto, file), cat(name, file)) + st = posix.stat(name) # Get the mode + mode = S_IMODE(st[ST_MODE]) + linkto = posix.readlink(name) + files = posix.listdir(name) + posix.unlink(name) + posix.mkdir(name, mode) + posix.chmod(name, mode) + linkto = cat('..', linkto) + # + for file in files: + if file not in ('.', '..'): + posix.symlink(cat(linkto, file), cat(name, file)) def main(): - sys.stdout = sys.stderr - progname = path.basename(sys.argv[0]) - args = sys.argv[1:] - if not args: - print 'usage:', progname, 'path ...' - sys.exit(2) - status = 0 - for name in args: - if not path.islink(name): - print progname+':', name+':', 'not a symlink' - status = 1 - else: - if path.isdir(name): - mkrealdir(name) - else: - mkrealfile(name) - sys.exit(status) + sys.stdout = sys.stderr + progname = path.basename(sys.argv[0]) + args = sys.argv[1:] + if not args: + print 'usage:', progname, 'path ...' + sys.exit(2) + status = 0 + for name in args: + if not path.islink(name): + print progname+':', name+':', 'not a symlink' + status = 1 + else: + if path.isdir(name): + mkrealdir(name) + else: + mkrealfile(name) + sys.exit(status) main() |
