summaryrefslogtreecommitdiff
path: root/engine/SCons/Tool/zip.py
diff options
context:
space:
mode:
Diffstat (limited to 'engine/SCons/Tool/zip.py')
-rw-r--r--engine/SCons/Tool/zip.py13
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()