osbuild-mpp: fix pylint warnings
Fix a bunch of pylint warnings about coding-style. Nothing really major. Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>
This commit is contained in:
parent
73ad1a3eac
commit
a65cf82b5e
1 changed files with 16 additions and 12 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
# pylint: disable=too-many-lines
|
||||||
|
|
||||||
"""Manifest-Pre-Processor
|
"""Manifest-Pre-Processor
|
||||||
|
|
||||||
This manifest-pre-processor takes a path to a manifest, loads it,
|
This manifest-pre-processor takes a path to a manifest, loads it,
|
||||||
|
|
@ -405,7 +407,7 @@ class ImageManifest:
|
||||||
self.digest = "sha256:" + hashlib.sha256(raw).hexdigest()
|
self.digest = "sha256:" + hashlib.sha256(raw).hexdigest()
|
||||||
|
|
||||||
def is_manifest_list(self):
|
def is_manifest_list(self):
|
||||||
return self.media_type == "application/vnd.docker.distribution.manifest.list.v2+json" or self.media_type == "application/vnd.oci.image.index.v1+json"
|
return self.media_type in ("application/vnd.docker.distribution.manifest.list.v2+json", "application/vnd.oci.image.index.v1+json")
|
||||||
|
|
||||||
def _match_platform(self, wanted_arch, wanted_os, wanted_variant):
|
def _match_platform(self, wanted_arch, wanted_os, wanted_variant):
|
||||||
for m in self.json.get("manifests", []):
|
for m in self.json.get("manifests", []):
|
||||||
|
|
@ -461,11 +463,12 @@ class ImageManifest:
|
||||||
return self.json.get("config", {}).get("digest", "")
|
return self.json.get("config", {}).get("digest", "")
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=too-many-ancestors
|
||||||
class YamlOrderedLoader(yaml.Loader):
|
class YamlOrderedLoader(yaml.Loader):
|
||||||
def construct_mapping(self, node, deep=False):
|
def construct_mapping(self, node, deep=False):
|
||||||
if not isinstance(node, yaml.MappingNode):
|
if not isinstance(node, yaml.MappingNode):
|
||||||
raise yaml.constructor.ConstructorError(None, None,
|
raise yaml.constructor.ConstructorError(None, None,
|
||||||
"expected a mapping node, but found %s" % node.id,
|
f"expected a mapping node, but found {node.id}",
|
||||||
node.start_mark)
|
node.start_mark)
|
||||||
mapping = collections.OrderedDict()
|
mapping = collections.OrderedDict()
|
||||||
for key_node, value_node in node.value:
|
for key_node, value_node in node.value:
|
||||||
|
|
@ -548,7 +551,7 @@ class PacmanSolver():
|
||||||
os.makedirs(os.path.join(root, "var", "lib", "pacman"), exist_ok=True)
|
os.makedirs(os.path.join(root, "var", "lib", "pacman"), exist_ok=True)
|
||||||
os.makedirs(os.path.join(root, "etc"), exist_ok=True)
|
os.makedirs(os.path.join(root, "etc"), exist_ok=True)
|
||||||
|
|
||||||
def reset(self, arch, _, module_platform_id, ignore_weak_deps):
|
def reset(self, arch, _, _module_platform_id, _ignore_weak_deps):
|
||||||
self.setup_root()
|
self.setup_root()
|
||||||
cfg = f"""
|
cfg = f"""
|
||||||
[options]
|
[options]
|
||||||
|
|
@ -823,7 +826,7 @@ class PartitionTable:
|
||||||
def __getitem__(self, key) -> Partition:
|
def __getitem__(self, key) -> Partition:
|
||||||
if isinstance(key, int):
|
if isinstance(key, int):
|
||||||
return self.partitions[key]
|
return self.partitions[key]
|
||||||
elif isinstance(key, str):
|
if isinstance(key, str):
|
||||||
for part in self.partitions:
|
for part in self.partitions:
|
||||||
if part.id == key:
|
if part.id == key:
|
||||||
return part
|
return part
|
||||||
|
|
@ -914,10 +917,11 @@ class Image:
|
||||||
return cls(size, table)
|
return cls(size, table)
|
||||||
|
|
||||||
|
|
||||||
|
# pylint: disable=too-many-instance-attributes
|
||||||
class ManifestFile:
|
class ManifestFile:
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def load(path, overrides, default_vars, searchdirs):
|
def load(path, overrides, default_vars, searchdirs):
|
||||||
with open(path) as f:
|
with open(path, encoding="utf8") as f:
|
||||||
return ManifestFile.load_from_fd(f, path, overrides, default_vars, searchdirs)
|
return ManifestFile.load_from_fd(f, path, overrides, default_vars, searchdirs)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
@ -1013,11 +1017,11 @@ class ManifestFile:
|
||||||
raise ValueError(f"Incompatible manifest version {m.version}")
|
raise ValueError(f"Incompatible manifest version {m.version}")
|
||||||
return m
|
return m
|
||||||
|
|
||||||
def find_and_open_file(self, path, dirs, mode="r"):
|
def find_and_open_file(self, path, dirs, mode="r", encoding="utf8"):
|
||||||
for p in [self.basedir] + dirs:
|
for p in [self.basedir] + dirs:
|
||||||
with contextlib.suppress(FileNotFoundError):
|
with contextlib.suppress(FileNotFoundError):
|
||||||
fullpath = os.path.join(p, path)
|
fullpath = os.path.join(p, path)
|
||||||
return open(fullpath, mode), os.path.normpath(fullpath)
|
return open(fullpath, mode, encoding=encoding), os.path.normpath(fullpath)
|
||||||
raise FileNotFoundError(f"Could not find file '{path}'")
|
raise FileNotFoundError(f"Could not find file '{path}'")
|
||||||
|
|
||||||
def find_and_load_manifest(self, path):
|
def find_and_load_manifest(self, path):
|
||||||
|
|
@ -1098,8 +1102,7 @@ class ManifestFile:
|
||||||
self._process_format(fakeroot)
|
self._process_format(fakeroot)
|
||||||
if not fakeroot:
|
if not fakeroot:
|
||||||
return None, True
|
return None, True
|
||||||
else:
|
return fakeroot[0], False
|
||||||
return fakeroot[0], False
|
|
||||||
|
|
||||||
def _format_dict_node(self, node, stack):
|
def _format_dict_node(self, node, stack):
|
||||||
if len(stack) > 0:
|
if len(stack) > 0:
|
||||||
|
|
@ -1116,6 +1119,7 @@ class ManifestFile:
|
||||||
pipeline_name = self.get_pipeline_name(parent_node)
|
pipeline_name = self.get_pipeline_name(parent_node)
|
||||||
self._process_stage(node, pipeline_name)
|
self._process_stage(node, pipeline_name)
|
||||||
|
|
||||||
|
# pylint: disable=too-many-branches
|
||||||
def _process_format(self, node):
|
def _process_format(self, node):
|
||||||
def _is_format(node):
|
def _is_format(node):
|
||||||
if not isinstance(node, dict):
|
if not isinstance(node, dict):
|
||||||
|
|
@ -1184,7 +1188,7 @@ class ManifestFile:
|
||||||
self._format_dict_node(node, self.format_stack)
|
self._format_dict_node(node, self.format_stack)
|
||||||
|
|
||||||
for key in list(node.keys()):
|
for key in list(node.keys()):
|
||||||
self.format_stack.append( (node, key) )
|
self.format_stack.append((node, key))
|
||||||
value = node[key]
|
value = node[key]
|
||||||
if _is_format(value):
|
if _is_format(value):
|
||||||
val, remove = _eval_format(value, self.get_vars())
|
val, remove = _eval_format(value, self.get_vars())
|
||||||
|
|
@ -1427,7 +1431,7 @@ class ManifestFileV2(ManifestFile):
|
||||||
raise ValueError(f"Only one of 'path', 'url' or 'text' may be specified for '{uid}'")
|
raise ValueError(f"Only one of 'path', 'url' or 'text' may be specified for '{uid}'")
|
||||||
|
|
||||||
if path:
|
if path:
|
||||||
f, _ = self.find_and_open_file(path, [], mode="rb")
|
f, _ = self.find_and_open_file(path, [], mode="rb", encoding=None)
|
||||||
with f:
|
with f:
|
||||||
data = f.read()
|
data = f.read()
|
||||||
elif url:
|
elif url:
|
||||||
|
|
@ -1589,7 +1593,7 @@ def main():
|
||||||
m.process_format()
|
m.process_format()
|
||||||
m.solver_factory = None
|
m.solver_factory = None
|
||||||
|
|
||||||
with sys.stdout if args.dst == "-" else open(args.dst, "w") as f:
|
with sys.stdout if args.dst == "-" else open(args.dst, "w", encoding="utf8") as f:
|
||||||
m.write(f, args.sort_keys)
|
m.write(f, args.sort_keys)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue