summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/lib-old/packmail.py26
-rw-r--r--Lib/packmail.py26
2 files changed, 52 insertions, 0 deletions
diff --git a/Lib/lib-old/packmail.py b/Lib/lib-old/packmail.py
index c7bebe8..a964d6d 100644
--- a/Lib/lib-old/packmail.py
+++ b/Lib/lib-old/packmail.py
@@ -3,6 +3,7 @@
import mac
import macpath
from stat import ST_MTIME
+import string
# Pack one file
def pack(outfp, file, name):
@@ -46,3 +47,28 @@ def packnotolder(outfp, dirname, oldest):
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 = mac.listdir(dirname)
+ subdirs = []
+ for name in names:
+ fullname = macpath.cat(dirname, name)
+ if macpath.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 = string.splitfields(name, ':')
+ res = ''
+ for comp in comps:
+ if comp:
+ if res: res = res + '/'
+ res = res + comp
+ return res
diff --git a/Lib/packmail.py b/Lib/packmail.py
index c7bebe8..a964d6d 100644
--- a/Lib/packmail.py
+++ b/Lib/packmail.py
@@ -3,6 +3,7 @@
import mac
import macpath
from stat import ST_MTIME
+import string
# Pack one file
def pack(outfp, file, name):
@@ -46,3 +47,28 @@ def packnotolder(outfp, dirname, oldest):
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 = mac.listdir(dirname)
+ subdirs = []
+ for name in names:
+ fullname = macpath.cat(dirname, name)
+ if macpath.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 = string.splitfields(name, ':')
+ res = ''
+ for comp in comps:
+ if comp:
+ if res: res = res + '/'
+ res = res + comp
+ return res