diff options
Diffstat (limited to 'engine/SCons/Tool/zip.py')
-rw-r--r-- | engine/SCons/Tool/zip.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/engine/SCons/Tool/zip.py b/engine/SCons/Tool/zip.py index 42f23a2..36fd436 100644 --- a/engine/SCons/Tool/zip.py +++ b/engine/SCons/Tool/zip.py @@ -31,7 +31,7 @@ selection method. # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/zip.py 4720 2010/03/24 03:14:11 jars" +__revision__ = "src/engine/SCons/Tool/zip.py 5023 2010/06/14 22:05:46 scons" import os.path @@ -49,16 +49,15 @@ except ImportError: if internal_zip: zipcompression = zipfile.ZIP_DEFLATED def zip(target, source, env): - def visit(arg, dirname, names): - for name in names: - path = os.path.join(dirname, name) - if os.path.isfile(path): - arg.write(path) compression = env.get('ZIPCOMPRESSION', 0) zf = zipfile.ZipFile(str(target[0]), 'w', compression) for s in source: if s.isdir(): - os.path.walk(str(s), visit, zf) + for dirpath, dirnames, filenames in os.walk(str(s)): + for fname in filenames: + path = os.path.join(dirpath, fname) + if os.path.isfile(path): + zf.write(path) else: zf.write(str(s)) zf.close() |