diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2017-01-31 12:37:45 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-02-02 17:37:44 +0000 |
commit | 08217a4c80e4abba15270a6a023f0dd1dbadb84c (patch) | |
tree | 5e5dc9849e24064ed040a9c243f46a48177ebfd6 /scripts/lib/wic/partition.py | |
parent | d8a89baffbeced00025fb27dce102e11b8193075 (diff) | |
download | poky-08217a4c80e4abba15270a6a023f0dd1dbadb84c.tar.gz |
wic: partition: simlify calling plugin methods
Replaced parse_sourceparams function with list comprehension.
Used local variables instead of attributes.
Moved global variable to the local scope.
[YOCTO #10619]
(From OE-Core rev: 4adbac84046ff744f1452b5ff4d017d17d2d45e2)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic/partition.py')
-rw-r--r-- | scripts/lib/wic/partition.py | 53 |
1 files changed, 25 insertions, 28 deletions
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index 49d13277c3..094a8c3bec 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py | |||
@@ -27,16 +27,10 @@ | |||
27 | import os | 27 | import os |
28 | import tempfile | 28 | import tempfile |
29 | 29 | ||
30 | from wic.utils.oe.misc import msger, parse_sourceparams | 30 | from wic.utils.oe.misc import msger |
31 | from wic.utils.oe.misc import exec_cmd, exec_native_cmd, get_bitbake_var | 31 | from wic.utils.oe.misc import exec_cmd, exec_native_cmd, get_bitbake_var |
32 | from wic.plugin import pluginmgr | 32 | from wic.plugin import pluginmgr |
33 | 33 | ||
34 | partition_methods = { | ||
35 | "do_stage_partition":None, | ||
36 | "do_prepare_partition":None, | ||
37 | "do_configure_partition":None, | ||
38 | } | ||
39 | |||
40 | class Partition(): | 34 | class Partition(): |
41 | 35 | ||
42 | def __init__(self, args, lineno): | 36 | def __init__(self, args, lineno): |
@@ -129,9 +123,6 @@ class Partition(): | |||
129 | Prepare content for individual partitions, depending on | 123 | Prepare content for individual partitions, depending on |
130 | partition command parameters. | 124 | partition command parameters. |
131 | """ | 125 | """ |
132 | if self.sourceparams: | ||
133 | self.sourceparams_dict = parse_sourceparams(self.sourceparams) | ||
134 | |||
135 | if not self.source: | 126 | if not self.source: |
136 | if not self.size and not self.fixed_size: | 127 | if not self.size and not self.fixed_size: |
137 | msger.error("The %s partition has a size of zero. Please " | 128 | msger.error("The %s partition has a size of zero. Please " |
@@ -164,24 +155,30 @@ class Partition(): | |||
164 | "details on adding a new source plugin." % \ | 155 | "details on adding a new source plugin." % \ |
165 | (self.source, self.mountpoint)) | 156 | (self.source, self.mountpoint)) |
166 | 157 | ||
167 | self._source_methods = pluginmgr.get_source_plugin_methods(\ | 158 | srcparams_dict = {} |
168 | self.source, partition_methods) | 159 | if self.sourceparams: |
169 | self._source_methods["do_configure_partition"](self, self.sourceparams_dict, | 160 | # Split sourceparams string of the form key1=val1[,key2=val2,...] |
170 | creator, cr_workdir, | 161 | # into a dict. Also accepts valueless keys i.e. without = |
171 | oe_builddir, | 162 | splitted = self.sourceparams.split(',') |
172 | bootimg_dir, | 163 | srcparams_dict = dict(par.split('=') for par in splitted if par) |
173 | kernel_dir, | 164 | |
174 | native_sysroot) | 165 | partition_methods = { |
175 | self._source_methods["do_stage_partition"](self, self.sourceparams_dict, | 166 | "do_stage_partition": None, |
176 | creator, cr_workdir, | 167 | "do_prepare_partition": None, |
177 | oe_builddir, | 168 | "do_configure_partition": None |
178 | bootimg_dir, kernel_dir, | 169 | } |
179 | native_sysroot) | 170 | |
180 | self._source_methods["do_prepare_partition"](self, self.sourceparams_dict, | 171 | methods = pluginmgr.get_source_plugin_methods(self.source, |
181 | creator, cr_workdir, | 172 | partition_methods) |
182 | oe_builddir, | 173 | methods["do_configure_partition"](self, srcparams_dict, creator, |
183 | bootimg_dir, kernel_dir, rootfs_dir, | 174 | cr_workdir, oe_builddir, bootimg_dir, |
184 | native_sysroot) | 175 | kernel_dir, native_sysroot) |
176 | methods["do_stage_partition"](self, srcparams_dict, creator, | ||
177 | cr_workdir, oe_builddir, bootimg_dir, | ||
178 | kernel_dir, native_sysroot) | ||
179 | methods["do_prepare_partition"](self, srcparams_dict, creator, | ||
180 | cr_workdir, oe_builddir, bootimg_dir, | ||
181 | kernel_dir, rootfs_dir, native_sysroot) | ||
185 | 182 | ||
186 | # further processing required Partition.size to be an integer, make | 183 | # further processing required Partition.size to be an integer, make |
187 | # sure that it is one | 184 | # sure that it is one |