diff options
Diffstat (limited to 'Lib/lib-old/packmail.py')
-rw-r--r-- | Lib/lib-old/packmail.py | 168 |
1 files changed, 84 insertions, 84 deletions
diff --git a/Lib/lib-old/packmail.py b/Lib/lib-old/packmail.py index 9c2b5662f6..e569108a48 100644 --- a/Lib/lib-old/packmail.py +++ b/Lib/lib-old/packmail.py @@ -8,104 +8,104 @@ from stat import ST_MTIME # Print help def help(): - print 'All fns have a file open for writing as first parameter' - print 'pack(f, fullname, name): pack fullname as name' - print 'packsome(f, directory, namelist): selected files from directory' - print 'packall(f, directory): pack all files from directory' - print 'packnotolder(f, directory, name): pack all files from directory' - print ' that are not older than a file there' - print 'packtree(f, directory): pack entire directory tree' + print 'All fns have a file open for writing as first parameter' + print 'pack(f, fullname, name): pack fullname as name' + print 'packsome(f, directory, namelist): selected files from directory' + print 'packall(f, directory): pack all files from directory' + print 'packnotolder(f, directory, name): pack all files from directory' + print ' that are not older than a file there' + print 'packtree(f, directory): pack entire directory tree' # Pack one file def pack(outfp, file, name): - fp = open(file, 'r') - outfp.write('echo ' + name + '\n') - outfp.write('sed "s/^X//" >"' + name + '" <<"!"\n') - while 1: - line = fp.readline() - if not line: break - if line[-1:] != '\n': - line = line + '\n' - outfp.write('X' + line) - outfp.write('!\n') - fp.close() + fp = open(file, 'r') + outfp.write('echo ' + name + '\n') + outfp.write('sed "s/^X//" >"' + name + '" <<"!"\n') + while 1: + line = fp.readline() + if not line: break + if line[-1:] != '\n': + line = line + '\n' + outfp.write('X' + line) + outfp.write('!\n') + fp.close() # Pack some files from a directory def packsome(outfp, dirname, names): - for name in names: - print name - file = os.path.join(dirname, name) - pack(outfp, file, name) + for name in names: + print name + file = os.path.join(dirname, name) + pack(outfp, file, name) # Pack all files from a directory def packall(outfp, dirname): - names = os.listdir(dirname) - try: - names.remove('.') - except: - pass - try: - names.remove('..') - except: - pass - names.sort() - packsome(outfp, dirname, names) + names = os.listdir(dirname) + try: + names.remove('.') + except: + pass + try: + names.remove('..') + except: + pass + names.sort() + packsome(outfp, dirname, names) # Pack all files from a directory that are not older than a give one def packnotolder(outfp, dirname, oldest): - names = os.listdir(dirname) - try: - names.remove('.') - except: - pass - try: - names.remove('..') - except: - pass - oldest = os.path.join(dirname, oldest) - st = os.stat(oldest) - mtime = st[ST_MTIME] - todo = [] - for name in names: - print name, '...', - st = os.stat(os.path.join(dirname, name)) - if st[ST_MTIME] >= mtime: - print 'Yes.' - todo.append(name) - else: - print 'No.' - todo.sort() - packsome(outfp, dirname, todo) + names = os.listdir(dirname) + try: + names.remove('.') + except: + pass + try: + names.remove('..') + except: + pass + oldest = os.path.join(dirname, oldest) + st = os.stat(oldest) + mtime = st[ST_MTIME] + todo = [] + for name in names: + print name, '...', + st = os.stat(os.path.join(dirname, name)) + if st[ST_MTIME] >= mtime: + print 'Yes.' + todo.append(name) + else: + print 'No.' + todo.sort() + packsome(outfp, dirname, todo) # Pack a whole tree (no exceptions) def packtree(outfp, dirname): - print 'packtree', dirname - outfp.write('mkdir ' + unixfix(dirname) + '\n') - names = os.listdir(dirname) - try: - names.remove('.') - except: - pass - try: - names.remove('..') - except: - pass - subdirs = [] - for name in names: - fullname = os.path.join(dirname, name) - if os.path.isdir(fullname): - subdirs.append(fullname) - else: - print 'pack', fullname - pack(outfp, fullname, unixfix(fullname)) - for subdirname in subdirs: - packtree(outfp, subdirname) + print 'packtree', dirname + outfp.write('mkdir ' + unixfix(dirname) + '\n') + names = os.listdir(dirname) + try: + names.remove('.') + except: + pass + try: + names.remove('..') + except: + pass + subdirs = [] + for name in names: + fullname = os.path.join(dirname, name) + if os.path.isdir(fullname): + subdirs.append(fullname) + else: + print 'pack', fullname + pack(outfp, fullname, unixfix(fullname)) + for subdirname in subdirs: + packtree(outfp, subdirname) def unixfix(name): - comps = name.split(os.sep) - res = '' - for comp in comps: - if comp: - if res: res = res + '/' - res = res + comp - return res + comps = name.split(os.sep) + res = '' + for comp in comps: + if comp: + if res: res = res + '/' + res = res + comp + return res |