aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/engine.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/wic/engine.py')
-rw-r--r--scripts/lib/wic/engine.py36
1 files changed, 9 insertions, 27 deletions
diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index 2dc2fd5ed4..b23dd65de2 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -236,10 +236,6 @@ class Disk:
self.imagepath = imagepath
self.native_sysroot = native_sysroot
self._partitions = None
- self._mdir = None
- self._mcopy = None
- self._mdel = None
- self._mdeltree = None
self._partimages = {}
# find parted
@@ -270,30 +266,16 @@ class Disk:
return self._partitions
- def _prop(self, name):
+ def __getattr__(self, name):
"""Get path to the executable in a lazy way."""
- aname = "_%s" % name
- if getattr(self, aname) is None:
- setattr(self, aname, find_executable(name, self.paths))
- if not getattr(self, aname):
- raise WicError("Can't find executable {}".format(name))
- return getattr(self, aname)
-
- @property
- def mdir(self):
- return self._prop('mdir')
-
- @property
- def mcopy(self):
- return self._prop("mcopy")
-
- @property
- def mdel(self):
- return self._prop("mdel")
-
- @property
- def mdeltree(self):
- return self._prop("mdeltree")
+ if name in ("mdir", "mcopy", "mdel", "mdeltree"):
+ aname = "_%s" % name
+ if aname not in self.__dict__:
+ setattr(self, aname, find_executable(name, self.paths))
+ if aname not in self.__dict__:
+ raise WicError("Can't find executable {}".format(name))
+ return self.__dict__[aname]
+ return self.__dict__[name]
def _get_part_image(self, pnum):
if pnum not in self.partitions: