summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-05-13 01:44:10 (GMT)
committerSteven Knight <knight@baldmt.com>2005-05-13 01:44:10 (GMT)
commitcf2fb56d5c6956aa70b9314afd37fa6f90eff19b (patch)
treef9abe466c67b9ca99adb91b2ff25529ca1096230 /src/engine/SCons/Script
parentd3b9bfabb079ef00a2df296d8b1eb94411ec3075 (diff)
downloadSCons-cf2fb56d5c6956aa70b9314afd37fa6f90eff19b.zip
SCons-cf2fb56d5c6956aa70b9314afd37fa6f90eff19b.tar.gz
SCons-cf2fb56d5c6956aa70b9314afd37fa6f90eff19b.tar.bz2
Eliminate multiple calls to os.stat() to fetch file info.
Diffstat (limited to 'src/engine/SCons/Script')
-rw-r--r--src/engine/SCons/Script/Main.py17
-rw-r--r--src/engine/SCons/Script/SConscript.py5
2 files changed, 11 insertions, 11 deletions
diff --git a/src/engine/SCons/Script/Main.py b/src/engine/SCons/Script/Main.py
index fd2a914..7dcb987 100644
--- a/src/engine/SCons/Script/Main.py
+++ b/src/engine/SCons/Script/Main.py
@@ -191,16 +191,17 @@ class BuildTask(SCons.Taskmaster.Task):
class CleanTask(SCons.Taskmaster.Task):
"""An SCons clean task."""
def show(self):
- if (self.targets[0].has_builder() or self.targets[0].side_effect) \
- and not os.path.isdir(str(self.targets[0])):
- display("Removed " + str(self.targets[0]))
- if SCons.Environment.CleanTargets.has_key(self.targets[0]):
- files = SCons.Environment.CleanTargets[self.targets[0]]
+ target = self.targets[0]
+ if (target.has_builder() or target.side_effect) and not target.isdir():
+ display("Removed " + str(target))
+ if SCons.Environment.CleanTargets.has_key(target):
+ files = SCons.Environment.CleanTargets[target]
for f in files:
SCons.Util.fs_delete(str(f), 0)
def remove(self):
- if self.targets[0].has_builder() or self.targets[0].side_effect:
+ target = self.targets[0]
+ if target.has_builder() or target.side_effect:
for t in self.targets:
try:
removed = t.remove()
@@ -209,8 +210,8 @@ class CleanTask(SCons.Taskmaster.Task):
else:
if removed:
display("Removed " + str(t))
- if SCons.Environment.CleanTargets.has_key(self.targets[0]):
- files = SCons.Environment.CleanTargets[self.targets[0]]
+ if SCons.Environment.CleanTargets.has_key(target):
+ files = SCons.Environment.CleanTargets[target]
for f in files:
SCons.Util.fs_delete(str(f))
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py
index 7ca9993..af9d492 100644
--- a/src/engine/SCons/Script/SConscript.py
+++ b/src/engine/SCons/Script/SConscript.py
@@ -184,9 +184,8 @@ def _SConscript(fs, *files, **kw):
# during the actual build phase.
f.build()
f.builder_set(None)
- s = str(f)
- if os.path.exists(s):
- _file_ = open(s, "r")
+ if f.exists():
+ _file_ = open(str(f), "r")
if _file_:
# Chdir to the SConscript directory. Use a path
# name relative to the SConstruct file so that if