Gentoo Archives: gentoo-catalyst

From: Mike Frysinger <vapier@g.o>
To: gentoo-catalyst@l.g.o
Subject: [gentoo-catalyst] [PATCH 8/9] lint: convert type/types to isinstance
Date: Mon, 12 Oct 2015 04:36:34
Message-Id: 1444624562-26162-8-git-send-email-vapier@gentoo.org
In Reply to: [gentoo-catalyst] [PATCH 1/9] convert octals to py3 compat by Mike Frysinger
1 pylint complains about using (type(...) == types.xxx) checks as it
2 prefers isinstance(..., xxx) instead. Convert the code base to it.
3 ---
4 .pylintrc | 3 +--
5 catalyst/base/stagebase.py | 57 +++++++++++++++++----------------------
6 catalyst/support.py | 3 +--
7 catalyst/targets/grp.py | 5 ++--
8 catalyst/targets/livecd_stage1.py | 5 ++--
9 catalyst/targets/netboot.py | 9 +++----
10 catalyst/targets/netboot2.py | 11 ++++----
11 7 files changed, 39 insertions(+), 54 deletions(-)
12
13 diff --git a/.pylintrc b/.pylintrc
14 index b3327cf..2a03f23 100644
15 --- a/.pylintrc
16 +++ b/.pylintrc
17 @@ -32,11 +32,10 @@ load-plugins=
18 # bad-continuation -- might be hard with tab indentation policy
19 # invalid-name -- need to manage constants better
20 # line-too-long -- figure out a length and stick to it
21 -# unidiomatic-typecheck -- convert to isinstance
22 # redefined-outer-name -- clean up code to not do this
23 # super-init-not-called -- fix the classes __init__ structure
24 # no-init -- update classes w/missing __init__ functions
25 -disable=missing-docstring, too-many-lines, too-many-branches, too-many-statements, too-few-public-methods, too-many-instance-attributes, too-many-public-methods, too-many-locals, too-many-arguments, locally-enabled, locally-disabled, fixme, broad-except, bad-whitespace, bad-continuation, invalid-name, line-too-long, unidiomatic-typecheck, redefined-outer-name, super-init-not-called, no-init
26 +disable=missing-docstring, too-many-lines, too-many-branches, too-many-statements, too-few-public-methods, too-many-instance-attributes, too-many-public-methods, too-many-locals, too-many-arguments, locally-enabled, locally-disabled, fixme, broad-except, bad-whitespace, bad-continuation, invalid-name, line-too-long, redefined-outer-name, super-init-not-called, no-init
27
28
29 [REPORTS]
30 diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
31 index 770ce76..f08b9a4 100644
32 --- a/catalyst/base/stagebase.py
33 +++ b/catalyst/base/stagebase.py
34 @@ -1,7 +1,6 @@
35
36 import os
37 import imp
38 -import types
39 import shutil
40 import sys
41 from stat import ST_UID, ST_GID, ST_MODE
42 @@ -297,7 +296,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
43
44 def set_install_mask(self):
45 if "install_mask" in self.settings:
46 - if type(self.settings["install_mask"])!=types.StringType:
47 + if not isinstance(self.settings['install_mask'], str):
48 self.settings["install_mask"]=\
49 ' '.join(self.settings["install_mask"])
50
51 @@ -313,14 +312,14 @@ class StageBase(TargetBase, ClearBase, GenBase):
52 self.settings["version_stamp"] +'/'
53
54 def set_source_subpath(self):
55 - if type(self.settings["source_subpath"])!=types.StringType:
56 + if not isinstance(self.settings['source_subpath'], str):
57 raise CatalystError(
58 "source_subpath should have been a string. Perhaps you have " +\
59 "something wrong in your spec file?")
60
61 def set_pkgcache_path(self):
62 if "pkgcache_path" in self.settings:
63 - if type(self.settings["pkgcache_path"])!=types.StringType:
64 + if not isinstance(self.settings['pkgcache_path'], str):
65 self.settings["pkgcache_path"]=\
66 normpath(self.settings["pkgcache_path"])
67 else:
68 @@ -330,7 +329,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
69
70 def set_kerncache_path(self):
71 if "kerncache_path" in self.settings:
72 - if type(self.settings["kerncache_path"])!=types.StringType:
73 + if not isinstance(self.settings['kerncache_path'], str):
74 self.settings["kerncache_path"]=\
75 normpath(self.settings["kerncache_path"])
76 else:
77 @@ -536,7 +535,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
78 del self.settings[self.settings["spec_prefix"]+"/use"]
79 if "use" not in self.settings:
80 self.settings["use"]=""
81 - if type(self.settings["use"])==types.StringType:
82 + if isinstance(self.settings['use'], str):
83 self.settings["use"]=self.settings["use"].split()
84
85 # Force bindist when options ask for it
86 @@ -554,30 +553,27 @@ class StageBase(TargetBase, ClearBase, GenBase):
87
88 def set_rm(self):
89 if self.settings["spec_prefix"]+"/rm" in self.settings:
90 - if type(self.settings[self.settings["spec_prefix"]+\
91 - "/rm"])==types.StringType:
92 + if isinstance(self.settings[self.settings['spec_prefix']+'/rm'], str):
93 self.settings[self.settings["spec_prefix"]+"/rm"]=\
94 self.settings[self.settings["spec_prefix"]+"/rm"].split()
95
96 def set_linuxrc(self):
97 if self.settings["spec_prefix"]+"/linuxrc" in self.settings:
98 - if type(self.settings[self.settings["spec_prefix"]+\
99 - "/linuxrc"])==types.StringType:
100 + if isinstance(self.settings[self.settings['spec_prefix']+'/linuxrc'], str):
101 self.settings["linuxrc"]=\
102 self.settings[self.settings["spec_prefix"]+"/linuxrc"]
103 del self.settings[self.settings["spec_prefix"]+"/linuxrc"]
104
105 def set_busybox_config(self):
106 if self.settings["spec_prefix"]+"/busybox_config" in self.settings:
107 - if type(self.settings[self.settings["spec_prefix"]+\
108 - "/busybox_config"])==types.StringType:
109 + if isinstance(self.settings[self.settings['spec_prefix']+'/busybox_config'], str):
110 self.settings["busybox_config"]=\
111 self.settings[self.settings["spec_prefix"]+"/busybox_config"]
112 del self.settings[self.settings["spec_prefix"]+"/busybox_config"]
113
114 def set_portage_overlay(self):
115 if "portage_overlay" in self.settings:
116 - if type(self.settings["portage_overlay"])==types.StringType:
117 + if isinstance(self.settings['portage_overlay'], str):
118 self.settings["portage_overlay"]=\
119 self.settings["portage_overlay"].split()
120 log.info('portage_overlay directories are set to: %s',
121 @@ -585,16 +581,14 @@ class StageBase(TargetBase, ClearBase, GenBase):
122
123 def set_overlay(self):
124 if self.settings["spec_prefix"]+"/overlay" in self.settings:
125 - if type(self.settings[self.settings["spec_prefix"]+\
126 - "/overlay"])==types.StringType:
127 + if isinstance(self.settings[self.settings['spec_prefix']+'/overlay'], str):
128 self.settings[self.settings["spec_prefix"]+"/overlay"]=\
129 self.settings[self.settings["spec_prefix"]+\
130 "/overlay"].split()
131
132 def set_root_overlay(self):
133 if self.settings["spec_prefix"]+"/root_overlay" in self.settings:
134 - if type(self.settings[self.settings["spec_prefix"]+\
135 - "/root_overlay"])==types.StringType:
136 + if isinstance(self.settings[self.settings['spec_prefix']+'/root_overlay'], str):
137 self.settings[self.settings["spec_prefix"]+"/root_overlay"]=\
138 self.settings[self.settings["spec_prefix"]+\
139 "/root_overlay"].split()
140 @@ -605,7 +599,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
141
142 def set_valid_build_kernel_vars(self,addlargs):
143 if "boot/kernel" in addlargs:
144 - if type(addlargs["boot/kernel"])==types.StringType:
145 + if isinstance(addlargs['boot/kernel'], str):
146 loopy=[addlargs["boot/kernel"]]
147 else:
148 loopy=addlargs["boot/kernel"]
149 @@ -625,8 +619,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
150 self.valid_values.append("boot/kernel/"+x+"/packages")
151 self.valid_values.append("boot/kernel/"+x+"/kernelopts")
152 if "boot/kernel/"+x+"/packages" in addlargs:
153 - if type(addlargs["boot/kernel/"+x+\
154 - "/packages"])==types.StringType:
155 + if isinstance(addlargs['boot/kernel/'+x+'/packages'], str):
156 addlargs["boot/kernel/"+x+"/packages"]=\
157 [addlargs["boot/kernel/"+x+"/packages"]]
158
159 @@ -1207,8 +1200,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
160 log.notice('Resume point detected, skipping empty operation...')
161 else:
162 if self.settings["spec_prefix"]+"/empty" in self.settings:
163 - if type(self.settings[self.settings["spec_prefix"]+\
164 - "/empty"])==types.StringType:
165 + if isinstance(self.settings[self.settings['spec_prefix']+'/empty'], str):
166 self.settings[self.settings["spec_prefix"]+"/empty"]=\
167 self.settings[self.settings["spec_prefix"]+\
168 "/empty"].split()
169 @@ -1338,14 +1330,14 @@ class StageBase(TargetBase, ClearBase, GenBase):
170 varname = "clst_" + x.replace("/", "_")
171 varname = varname.replace("-", "_")
172 varname = varname.replace(".", "_")
173 - if type(self.settings[x])==types.StringType:
174 + if isinstance(self.settings[x], str):
175 # Prefix to prevent namespace clashes
176 #os.environ[varname]=self.settings[x]
177 self.env[varname]=self.settings[x]
178 - elif type(self.settings[x])==types.ListType:
179 + elif isinstance(self.settings[x], list):
180 #os.environ[varname] = ' '.join(self.settings[x])
181 self.env[varname] = ' '.join(self.settings[x])
182 - elif type(self.settings[x])==types.BooleanType:
183 + elif isinstance(self.settings[x], bool):
184 if self.settings[x]:
185 self.env[varname] = "true"
186 else:
187 @@ -1354,7 +1346,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
188 # Its currently used only for USE_EXPAND flags which are dictionaries of
189 # lists in arch/amd64.py and friends. If we wanted self.settigs[var]
190 # of any depth, we should make this function recursive.
191 - elif type(self.settings[x]) == types.DictType:
192 + elif isinstance(self.settings[x], dict):
193 if x in ["compress_definitions",
194 "decompress_definitions"]:
195 continue
196 @@ -1363,11 +1355,11 @@ class StageBase(TargetBase, ClearBase, GenBase):
197 varname2 = "clst_" + y.replace("/", "_")
198 varname2 = varname2.replace("-", "_")
199 varname2 = varname2.replace(".", "_")
200 - if type(self.settings[x][y]) == types.StringType:
201 + if isinstance(self.settings[x][y], str):
202 self.env[varname2] = self.settings[x][y]
203 - elif type(self.settings[x][y]) == types.ListType:
204 + elif isinstance(self.settings[x][y], list):
205 self.env[varname2] = ' '.join(self.settings[x][y])
206 - elif type(self.settings[x][y]) == types.BooleanType:
207 + elif isinstance(self.settings[x][y], bool):
208 if self.settings[x][y]:
209 self.env[varname] = "true"
210 else:
211 @@ -1429,8 +1421,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
212 log.notice('Resume point detected, skipping unmerge operation...')
213 else:
214 if self.settings["spec_prefix"]+"/unmerge" in self.settings:
215 - if type(self.settings[self.settings["spec_prefix"]+\
216 - "/unmerge"])==types.StringType:
217 + if isinstance(self.settings[self.settings['spec_prefix']+'/unmerge'], str):
218 self.settings[self.settings["spec_prefix"]+"/unmerge"]=\
219 [self.settings[self.settings["spec_prefix"]+"/unmerge"]]
220 myunmerge=\
221 @@ -1529,7 +1520,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
222 if "boot/kernel" in self.settings:
223 try:
224 mynames=self.settings["boot/kernel"]
225 - if type(mynames)==types.StringType:
226 + if isinstance(mynames, str):
227 mynames=[mynames]
228 # Execute the script that sets up the kernel build environment
229 cmd(self.settings["controller_file"]+\
230 @@ -1558,7 +1549,7 @@ class StageBase(TargetBase, ClearBase, GenBase):
231 myopts=self.settings["boot/kernel/"+kname+\
232 "/kernelopts"]
233
234 - if type(myopts) != types.StringType:
235 + if not isinstance(myopts, str):
236 myopts = ' '.join(myopts)
237 self.env[kname+"_kernelopts"]=myopts
238
239 diff --git a/catalyst/support.py b/catalyst/support.py
240 index 8883acb..380c1c1 100644
241 --- a/catalyst/support.py
242 +++ b/catalyst/support.py
243 @@ -2,7 +2,6 @@
244 import glob
245 import sys
246 import os
247 -import types
248 import re
249 import time
250 from subprocess import Popen
251 @@ -14,7 +13,7 @@ BASH_BINARY = "/bin/bash"
252
253
254 def list_bashify(mylist):
255 - if type(mylist)==types.StringType:
256 + if isinstance(mylist, str):
257 mypack=[mylist]
258 else:
259 mypack=mylist[:]
260 diff --git a/catalyst/targets/grp.py b/catalyst/targets/grp.py
261 index b37366c..0b38417 100644
262 --- a/catalyst/targets/grp.py
263 +++ b/catalyst/targets/grp.py
264 @@ -4,7 +4,6 @@ Gentoo Reference Platform (GRP) target
265 # NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
266
267 import os
268 -import types
269 import glob
270
271 from catalyst import log
272 @@ -27,11 +26,11 @@ class grp(StageBase):
273 raise CatalystError("Required value \"grp\" not specified in spec.")
274
275 self.required_values.extend(["grp"])
276 - if type(addlargs["grp"])==types.StringType:
277 + if isinstance(addlargs['grp'], str):
278 addlargs["grp"]=[addlargs["grp"]]
279
280 if "grp/use" in addlargs:
281 - if type(addlargs["grp/use"])==types.StringType:
282 + if isinstance(addlargs['grp/use'], str):
283 addlargs["grp/use"]=[addlargs["grp/use"]]
284
285 for x in addlargs["grp"]:
286 diff --git a/catalyst/targets/livecd_stage1.py b/catalyst/targets/livecd_stage1.py
287 index 8d9dcc7..70f9243 100644
288 --- a/catalyst/targets/livecd_stage1.py
289 +++ b/catalyst/targets/livecd_stage1.py
290 @@ -4,7 +4,6 @@ LiveCD stage1 target
291 # NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
292
293 import os
294 -import types
295
296 from catalyst import log
297 from catalyst.support import (normpath, cmd)
298 @@ -60,14 +59,14 @@ class livecd_stage1(StageBase):
299 def set_packages(self):
300 StageBase.set_packages(self)
301 if self.settings["spec_prefix"]+"/packages" in self.settings:
302 - if type(self.settings[self.settings["spec_prefix"]+"/packages"]) == types.StringType:
303 + if isinstance(self.settings[self.settings['spec_prefix']+'/packages'], str):
304 self.settings[self.settings["spec_prefix"]+"/packages"] = \
305 self.settings[self.settings["spec_prefix"]+"/packages"].split()
306 self.settings[self.settings["spec_prefix"]+"/packages"].append("app-misc/livecd-tools")
307
308 def set_pkgcache_path(self):
309 if "pkgcache_path" in self.settings:
310 - if type(self.settings["pkgcache_path"]) != types.StringType:
311 + if not isinstance(self.settings['pkgcache_path'], str):
312 self.settings["pkgcache_path"] = normpath(' '.join(self.settings["pkgcache_path"]))
313 else:
314 StageBase.set_pkgcache_path(self)
315 diff --git a/catalyst/targets/netboot.py b/catalyst/targets/netboot.py
316 index 333a230..5285c05 100644
317 --- a/catalyst/targets/netboot.py
318 +++ b/catalyst/targets/netboot.py
319 @@ -4,7 +4,6 @@ netboot target, version 1
320 # NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
321
322 import os
323 -import types
324
325 from catalyst import log
326 from catalyst.support import (CatalystError, normpath,
327 @@ -33,7 +32,7 @@ class netboot(StageBase):
328 try:
329 # XXX: This code does nothing because the for loop below is disabled.
330 if "netboot/packages" in addlargs:
331 - if type(addlargs["netboot/packages"]) == types.StringType:
332 + if isinstance(addlargs['netboot/packages'], str):
333 _loopy = [addlargs["netboot/packages"]]
334 else:
335 _loopy = addlargs["netboot/packages"]
336 @@ -88,20 +87,20 @@ class netboot(StageBase):
337 # create image
338 myfiles=[]
339 if "netboot/packages" in self.settings:
340 - if type(self.settings["netboot/packages"]) == types.StringType:
341 + if isinstance(self.settings['netboot/packages'], str):
342 loopy=[self.settings["netboot/packages"]]
343 else:
344 loopy=self.settings["netboot/packages"]
345
346 for x in loopy:
347 if "netboot/packages/"+x+"/files" in self.settings:
348 - if type(self.settings["netboot/packages/"+x+"/files"]) == types.ListType:
349 + if isinstance(type(self.settings['netboot/packages/'+x+'/files']), str):
350 myfiles.extend(self.settings["netboot/packages/"+x+"/files"])
351 else:
352 myfiles.append(self.settings["netboot/packages/"+x+"/files"])
353
354 if "netboot/extra_files" in self.settings:
355 - if type(self.settings["netboot/extra_files"]) == types.ListType:
356 + if isinstance(self.settings['netboot/extra_files'], list):
357 myfiles.extend(self.settings["netboot/extra_files"])
358 else:
359 myfiles.append(self.settings["netboot/extra_files"])
360 diff --git a/catalyst/targets/netboot2.py b/catalyst/targets/netboot2.py
361 index 8644786..769b945 100644
362 --- a/catalyst/targets/netboot2.py
363 +++ b/catalyst/targets/netboot2.py
364 @@ -4,7 +4,6 @@ netboot target, version 2
365 # NOTE: That^^ docstring has influence catalyst-spec(5) man page generation.
366
367 import os
368 -import types
369 import shutil
370 from stat import ST_UID, ST_GID, ST_MODE
371
372 @@ -36,7 +35,7 @@ class netboot2(StageBase):
373
374 try:
375 if "netboot2/packages" in addlargs:
376 - if type(addlargs["netboot2/packages"]) == types.StringType:
377 + if isinstance(addlargs['netboot2/packages'], str):
378 loopy=[addlargs["netboot2/packages"]]
379 else:
380 loopy=addlargs["netboot2/packages"]
381 @@ -73,20 +72,20 @@ class netboot2(StageBase):
382 log.notice('Resume point detected, skipping target path setup operation...')
383 else:
384 if "netboot2/packages" in self.settings:
385 - if type(self.settings["netboot2/packages"]) == types.StringType:
386 + if isinstance(self.settings['netboot2/packages'], str):
387 loopy=[self.settings["netboot2/packages"]]
388 else:
389 loopy=self.settings["netboot2/packages"]
390
391 for x in loopy:
392 if "netboot2/packages/"+x+"/files" in self.settings:
393 - if type(self.settings["netboot2/packages/"+x+"/files"]) == types.ListType:
394 + if isinstance(self.settings['netboot2/packages/'+x+'/files'], list):
395 myfiles.extend(self.settings["netboot2/packages/"+x+"/files"])
396 else:
397 myfiles.append(self.settings["netboot2/packages/"+x+"/files"])
398
399 if "netboot2/extra_files" in self.settings:
400 - if type(self.settings["netboot2/extra_files"]) == types.ListType:
401 + if isinstance(self.settings['netboot2/extra_files'], list):
402 myfiles.extend(self.settings["netboot2/extra_files"])
403 else:
404 myfiles.append(self.settings["netboot2/extra_files"])
405 @@ -145,7 +144,7 @@ class netboot2(StageBase):
406 log.notice('Resume point detected, skipping empty operation...')
407 else:
408 if "netboot2/empty" in self.settings:
409 - if type(self.settings["netboot2/empty"])==types.StringType:
410 + if isinstance(self.settings['netboot2/empty'], str):
411 self.settings["netboot2/empty"]=self.settings["netboot2/empty"].split()
412 for x in self.settings["netboot2/empty"]:
413 myemp=self.settings["chroot_path"] + self.settings["merge_path"] + x
414 --
415 2.5.2

Replies