diff options
author | Steven Knight <knight@baldmt.com> | 2006-01-22 03:13:50 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2006-01-22 03:13:50 (GMT) |
commit | fe273f647a20dea32f0057bcffb4ddfb954fd7f7 (patch) | |
tree | fd403afaf18556a1607fcc9d729719d3c2e5ddcb /src/engine/SCons/Node/FS.py | |
parent | 831d92ab8e2a85cd863b50912db59ae02657b2c3 (diff) | |
download | SCons-fe273f647a20dea32f0057bcffb4ddfb954fd7f7.zip SCons-fe273f647a20dea32f0057bcffb4ddfb954fd7f7.tar.gz SCons-fe273f647a20dea32f0057bcffb4ddfb954fd7f7.tar.bz2 |
Refactor NodeInfo and BuildInfo handling to prepare for signature refactoring.
Diffstat (limited to 'src/engine/SCons/Node/FS.py')
-rw-r--r-- | src/engine/SCons/Node/FS.py | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index 3d70c7c..1260602 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -1156,10 +1156,19 @@ class FS(LocalFS): message = fmt % string.join(map(str, targets)) return targets, message +class DirNodeInfo(SCons.Node.NodeInfoBase): + pass + +class DirBuildInfo(SCons.Node.BuildInfoBase): + pass + class Dir(Base): """A class for directories in a file system. """ + NodeInfo = DirNodeInfo + BuildInfo = DirBuildInfo + def __init__(self, name, directory, fs): if __debug__: logInstanceCreation(self, 'Node.FS.Dir') Base.__init__(self, name, directory, fs) @@ -1579,7 +1588,10 @@ class RootDir(Dir): def src_builder(self): return _null -class NodeInfo(SCons.Node.NodeInfo): +class FileNodeInfo(SCons.Node.NodeInfoBase): + def __init__(self, node): + SCons.Node.NodeInfoBase.__init__(self, node) + self.update(node) def __cmp__(self, other): try: return cmp(self.bsig, other.bsig) except AttributeError: return 1 @@ -1587,9 +1599,9 @@ class NodeInfo(SCons.Node.NodeInfo): self.timestamp = node.get_timestamp() self.size = node.getsize() -class BuildInfo(SCons.Node.BuildInfo): +class FileBuildInfo(SCons.Node.BuildInfoBase): def __init__(self, node): - SCons.Node.BuildInfo.__init__(self, node) + SCons.Node.BuildInfoBase.__init__(self, node) self.node = node def convert_to_sconsign(self): """Convert this BuildInfo object for writing to a .sconsign file @@ -1635,10 +1647,19 @@ class BuildInfo(SCons.Node.BuildInfo): result.append(str(bkids[i]) + ': ' + bkidsigs[i].format()) return string.join(result, '\n') +class NodeInfo(FileNodeInfo): + pass + +class BuildInfo(FileBuildInfo): + pass class File(Base): """A class for files in a file system. """ + + NodeInfo = FileNodeInfo + BuildInfo = FileBuildInfo + def diskcheck_match(self): diskcheck_match(self, self.fs.isdir, "Directory %s found where file expected.") @@ -1920,14 +1941,6 @@ class File(Base): # SIGNATURE SUBSYSTEM # - def new_binfo(self): - return BuildInfo(self) - - def new_ninfo(self): - ninfo = NodeInfo() - ninfo.update(self) - return ninfo - def get_csig(self, calc=None): """ Generate a node's content signature, the digested signature |