Refactor duplicate code in File

Increase readability using the File method self.relative_name() to factor out
some of the os.path.join(...) commands.
pull/1557/head
Philipp Ittershagen 8 years ago
parent c7f66c3a9e
commit 64e8f2c7bf
  1. 12
      mesonbuild/mesonlib.py

@ -123,14 +123,14 @@ class File:
self.fname = fname self.fname = fname
def __str__(self): def __str__(self):
return os.path.join(self.subdir, self.fname) return self.relative_name()
def __repr__(self): def __repr__(self):
ret = '<File: {0}' ret = '<File: {0}'
if not self.is_built: if not self.is_built:
ret += ' (not built)' ret += ' (not built)'
ret += '>' ret += '>'
return ret.format(os.path.join(self.subdir, self.fname)) return ret.format(self.relative_name())
@staticmethod @staticmethod
def from_source_file(source_root, subdir, fname): def from_source_file(source_root, subdir, fname):
@ -148,15 +148,15 @@ class File:
def rel_to_builddir(self, build_to_src): def rel_to_builddir(self, build_to_src):
if self.is_built: if self.is_built:
return os.path.join(self.subdir, self.fname) return self.relative_name()
else: else:
return os.path.join(build_to_src, self.subdir, self.fname) return os.path.join(build_to_src, self.subdir, self.fname)
def absolute_path(self, srcdir, builddir): def absolute_path(self, srcdir, builddir):
absdir = srcdir
if self.is_built: if self.is_built:
return os.path.join(builddir, self.subdir, self.fname) absdir = builddir
else: return os.path.join(absdir, self.relative_name())
return os.path.join(srcdir, self.subdir, self.fname)
def endswith(self, ending): def endswith(self, ending):
return self.fname.endswith(ending) return self.fname.endswith(ending)

Loading…
Cancel
Save