scripts: west_commands: zspdx: cmakefileapijson: Fix linter issues

Fix issues reported by ruff.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This commit is contained in:
Pieter De Gendt 2025-05-24 22:04:02 +02:00 committed by Benjamin Cabé
commit 6c4decf272
2 changed files with 21 additions and 30 deletions

View file

@ -1190,13 +1190,6 @@
"UP015", # https://docs.astral.sh/ruff/rules/redundant-open-modes "UP015", # https://docs.astral.sh/ruff/rules/redundant-open-modes
"UP032", # https://docs.astral.sh/ruff/rules/f-string "UP032", # https://docs.astral.sh/ruff/rules/f-string
] ]
"./scripts/west_commands/zspdx/cmakefileapijson.py" = [
"E501", # https://docs.astral.sh/ruff/rules/line-too-long
"F541", # https://docs.astral.sh/ruff/rules/f-string-missing-placeholders
"I001", # https://docs.astral.sh/ruff/rules/unsorted-imports
"SIM116", # https://docs.astral.sh/ruff/rules/if-else-block-instead-of-dict-lookup
"UP015", # https://docs.astral.sh/ruff/rules/redundant-open-modes
]
"./scripts/west_commands/zspdx/datatypes.py" = [ "./scripts/west_commands/zspdx/datatypes.py" = [
"UP008", # https://docs.astral.sh/ruff/rules/super-call-with-parameters "UP008", # https://docs.astral.sh/ruff/rules/super-call-with-parameters
] ]

View file

@ -9,28 +9,29 @@ from west import log
import zspdx.cmakefileapi import zspdx.cmakefileapi
def parseReply(replyIndexPath): def parseReply(replyIndexPath):
replyDir, _ = os.path.split(replyIndexPath) replyDir, _ = os.path.split(replyIndexPath)
# first we need to find the codemodel reply file # first we need to find the codemodel reply file
try: try:
with open(replyIndexPath, 'r') as indexFile: with open(replyIndexPath) as indexFile:
js = json.load(indexFile) js = json.load(indexFile)
# get reply object # get reply object
reply_dict = js.get("reply", {}) reply_dict = js.get("reply", {})
if reply_dict == {}: if reply_dict == {}:
log.err(f"no \"reply\" field found in index file") log.err('no "reply" field found in index file')
return None return None
# get codemodel object # get codemodel object
cm_dict = reply_dict.get("codemodel-v2", {}) cm_dict = reply_dict.get("codemodel-v2", {})
if cm_dict == {}: if cm_dict == {}:
log.err(f"no \"codemodel-v2\" field found in \"reply\" object in index file") log.err('no "codemodel-v2" field found in "reply" object in index file')
return None return None
# and get codemodel filename # and get codemodel filename
jsonFile = cm_dict.get("jsonFile", "") jsonFile = cm_dict.get("jsonFile", "")
if jsonFile == "": if jsonFile == "":
log.err(f"no \"jsonFile\" field found in \"codemodel-v2\" object in index file") log.err('no "jsonFile" field found in "codemodel-v2" object in index file')
return None return None
return parseCodemodel(replyDir, jsonFile) return parseCodemodel(replyDir, jsonFile)
@ -46,7 +47,7 @@ def parseCodemodel(replyDir, codemodelFile):
codemodelPath = os.path.join(replyDir, codemodelFile) codemodelPath = os.path.join(replyDir, codemodelFile)
try: try:
with open(codemodelPath, 'r') as cmFile: with open(codemodelPath) as cmFile:
js = json.load(cmFile) js = json.load(cmFile)
cm = zspdx.cmakefileapi.Codemodel() cm = zspdx.cmakefileapi.Codemodel()
@ -54,15 +55,18 @@ def parseCodemodel(replyDir, codemodelFile):
# for correctness, check kind and version # for correctness, check kind and version
kind = js.get("kind", "") kind = js.get("kind", "")
if kind != "codemodel": if kind != "codemodel":
log.err(f"Error loading CMake API reply: expected \"kind\":\"codemodel\" in {codemodelPath}, got {kind}") log.err('Error loading CMake API reply: expected "kind":"codemodel" '
f'in {codemodelPath}, got {kind}')
return None return None
version = js.get("version", {}) version = js.get("version", {})
versionMajor = version.get("major", -1) versionMajor = version.get("major", -1)
if versionMajor != 2: if versionMajor != 2:
if versionMajor == -1: if versionMajor == -1:
log.err(f"Error loading CMake API reply: expected major version 2 in {codemodelPath}, no version found") log.err("Error loading CMake API reply: expected major version 2 "
f"in {codemodelPath}, no version found")
return None return None
log.err(f"Error loading CMake API reply: expected major version 2 in {codemodelPath}, got {versionMajor}") log.err("Error loading CMake API reply: expected major version 2 "
f"in {codemodelPath}, got {versionMajor}")
return None return None
# get paths # get paths
@ -143,7 +147,7 @@ def parseConfig(cfg_dict, replyDir):
def parseTarget(targetPath): def parseTarget(targetPath):
try: try:
with open(targetPath, 'r') as targetFile: with open(targetPath) as targetFile:
js = json.load(targetFile) js = json.load(targetFile)
target = zspdx.cmakefileapi.Target() target = zspdx.cmakefileapi.Target()
@ -191,20 +195,14 @@ def parseTarget(targetPath):
return None return None
def parseTargetType(targetType): def parseTargetType(targetType):
if targetType == "EXECUTABLE": return {
return zspdx.cmakefileapi.TargetType.EXECUTABLE "EXECUTABLE": zspdx.cmakefileapi.TargetType.EXECUTABLE,
elif targetType == "STATIC_LIBRARY": "STATIC_LIBRARY": zspdx.cmakefileapi.TargetType.STATIC_LIBRARY,
return zspdx.cmakefileapi.TargetType.STATIC_LIBRARY "SHARED_LIBRARY": zspdx.cmakefileapi.TargetType.SHARED_LIBRARY,
elif targetType == "SHARED_LIBRARY": "MODULE_LIBRARY": zspdx.cmakefileapi.TargetType.MODULE_LIBRARY,
return zspdx.cmakefileapi.TargetType.SHARED_LIBRARY "OBJECT_LIBRARY": zspdx.cmakefileapi.TargetType.OBJECT_LIBRARY,
elif targetType == "MODULE_LIBRARY": "UTILITY": zspdx.cmakefileapi.TargetType.UTILITY,
return zspdx.cmakefileapi.TargetType.MODULE_LIBRARY }.get(targetType, zspdx.cmakefileapi.TargetType.UNKNOWN)
elif targetType == "OBJECT_LIBRARY":
return zspdx.cmakefileapi.TargetType.OBJECT_LIBRARY
elif targetType == "UTILITY":
return zspdx.cmakefileapi.TargetType.UTILITY
else:
return zspdx.cmakefileapi.TargetType.UNKNOWN
def parseTargetInstall(target, js): def parseTargetInstall(target, js):
install_dict = js.get("install", {}) install_dict = js.get("install", {})