summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorokke <okke@formsma.nl>2021-12-11 20:36:59 +0100
committerPete Johanson <peter@peterjohanson.com>2022-01-04 23:59:25 -0500
commitf767abe13647d1bf6b05a1b67baf615f58fc046c (patch)
tree0d61a2c2ed49812ad9630d8b7ba672fd9c8edf85
parente0620f1a2d726bee1859b8618ea4ed24b6b2145e (diff)
chore: make west scripts more pythonic and apply Black
-rw-r--r--.vscode/settings.json3
-rw-r--r--app/scripts/west_commands/metadata.py49
-rw-r--r--app/scripts/west_commands/test.py36
3 files changed, 50 insertions, 38 deletions
diff --git a/.vscode/settings.json b/.vscode/settings.json
index eba9570..2730549 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -2,5 +2,6 @@
"files.associations": {
"*.overlay": "dts",
"*.keymap": "dts"
- }
+ },
+ "python.formatting.provider": "black"
} \ No newline at end of file
diff --git a/app/scripts/west_commands/metadata.py b/app/scripts/west_commands/metadata.py
index a06024c..244fb9b 100644
--- a/app/scripts/west_commands/metadata.py
+++ b/app/scripts/west_commands/metadata.py
@@ -1,59 +1,64 @@
# Copyright (c) 2021 The ZMK Contributors
# SPDX-License-Identifier: MIT
-'''Metadata command for ZMK.'''
+"""Metadata command for ZMK."""
from functools import cached_property
import glob
import json
-from jsonschema import validate, ValidationError
-import os
+import jsonschema
import sys
import yaml
-from textwrap import dedent # just for nicer code indentation
from west.commands import WestCommand
-from west import log # use this for user output
+from west import log # use this for user output
class Metadata(WestCommand):
def __init__(self):
super().__init__(
- 'metadata', # gets stored as self.name
- 'ZMK hardware metadata commands', # self.help
- # self.description:
- dedent('''Operate on the board/shield metadata.'''))
+ name="metadata",
+ help="ZMK hardware metadata commands",
+ description="Operate on the board/shield metadata.",
+ )
def do_add_parser(self, parser_adder):
- parser = parser_adder.add_parser(self.name,
- help=self.help,
- description=self.description)
+ parser = parser_adder.add_parser(
+ self.name, help=self.help, description=self.description
+ )
- parser.add_argument('subcommand', default="check",
- help='The subcommand to run. Defaults to "check".', nargs="?")
- return parser # gets stored as self.parser
+ parser.add_argument(
+ "subcommand",
+ default="check",
+ help='The subcommand to run. Defaults to "check".',
+ nargs="?",
+ )
+ return parser # gets stored as self.parser
@cached_property
def schema(self):
- return json.load(
- open("../schema/hardware-metadata.schema.json", 'r'))
+ return json.load(open("../schema/hardware-metadata.schema.json", "r"))
def validate_file(self, file):
print("Validating: " + file)
- with open(file, 'r') as stream:
+ with open(file, "r") as stream:
try:
- validate(yaml.safe_load(stream), self.schema)
+ jsonschema.validate(yaml.safe_load(stream), self.schema)
except yaml.YAMLError as exc:
print("Failed loading metadata yaml: " + file)
print(exc)
return False
- except ValidationError as vexc:
+ except jsonschema.ValidationError as vexc:
print("Failed validation of: " + file)
print(vexc)
return False
return True
def do_run(self, args, unknown_args):
- status = all([self.validate_file(f) for f in glob.glob(
- "boards/**/*.zmk.yml", recursive=True)])
+ status = all(
+ [
+ self.validate_file(f)
+ for f in glob.glob("boards/**/*.zmk.yml", recursive=True)
+ ]
+ )
sys.exit(0 if status else 1)
diff --git a/app/scripts/west_commands/test.py b/app/scripts/west_commands/test.py
index ac64bb6..5313349 100644
--- a/app/scripts/west_commands/test.py
+++ b/app/scripts/west_commands/test.py
@@ -1,35 +1,41 @@
# Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT
-'''Test runner for ZMK.'''
+"""Test runner for ZMK."""
import os
import subprocess
-from textwrap import dedent # just for nicer code indentation
from west.commands import WestCommand
-from west import log # use this for user output
+from west import log # use this for user output
class Test(WestCommand):
def __init__(self):
super().__init__(
- 'test', # gets stored as self.name
- 'run ZMK testsuite', # self.help
- # self.description:
- dedent('''Run the ZMK testsuite.'''))
+ name="test",
+ help="run ZMK testsuite",
+ description="Run the ZMK testsuite.",
+ )
def do_add_parser(self, parser_adder):
- parser = parser_adder.add_parser(self.name,
- help=self.help,
- description=self.description)
+ parser = parser_adder.add_parser(
+ self.name,
+ help=self.help,
+ description=self.description,
+ )
- parser.add_argument('test_path', default="all",
- help='The path to the test. Defaults to "all".', nargs="?")
- return parser # gets stored as self.parser
+ parser.add_argument(
+ "test_path",
+ default="all",
+ help='The path to the test. Defaults to "all".',
+ nargs="?",
+ )
+ return parser
def do_run(self, args, unknown_args):
# the run-test script assumes the app directory is the current dir.
- os.chdir(f'{self.topdir}/app')
+ os.chdir(f"{self.topdir}/app")
completed_process = subprocess.run(
- [f'{self.topdir}/app/run-test.sh', args.test_path])
+ [f"{self.topdir}/app/run-test.sh", args.test_path]
+ )
exit(completed_process.returncode)