[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7421/8267] wic: reimplement getting paths of used tools
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 7421/8267] wic: reimplement getting paths of used tools
- Date: Sun, 17 Dec 2017 06:13:29 +0000 (UTC)
commit ff0bbdafa466aa006dc91a32814ecbe7ae093724
Author: Ed Bartosh <ed bartosh linux intel com>
Date: Fri Aug 25 23:12:22 2017 +0300
wic: reimplement getting paths of used tools
So far every used tool have to have separate property and
private attribute in the Disk class. This is too verbose,
considering that there will be much more tools used.
Reimplemented getting tools paths using custom __getattr__
method. This is much more compact and readable.
(From OE-Core rev: d1a831a9870bc31e936eb480485b28f1ffc13080)
Signed-off-by: Ed Bartosh <ed bartosh linux intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
scripts/lib/wic/engine.py | 36 +++++++++---------------------------
1 files changed, 9 insertions(+), 27 deletions(-)
---
diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index 2dc2fd5..b23dd65 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:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]