From: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Katarzyna Piecielska <katarzyna.piecielska@intel.com>
Subject: [PATCH i-g-t 2/6] scripts/xls_to_doc.py: beautify its coding style
Date: Wed, 13 Mar 2024 08:56:05 +0100 [thread overview]
Message-ID: <20240313075813.1114081-3-mauro.chehab@linux.intel.com> (raw)
In-Reply-To: <20240313075813.1114081-1-mauro.chehab@linux.intel.com>
From: Mauro Carvalho Chehab <mchehab@kernel.org>
Use autopep8 and some manual adjustments to make pylint
happier.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
scripts/xls_to_doc.py | 56 ++++++++++++++++++++++++-------------------
1 file changed, 32 insertions(+), 24 deletions(-)
diff --git a/scripts/xls_to_doc.py b/scripts/xls_to_doc.py
index fdf98105cd4b..696fccd64a2b 100755
--- a/scripts/xls_to_doc.py
+++ b/scripts/xls_to_doc.py
@@ -1,10 +1,12 @@
#!/usr/bin/env python3
-# pylint: disable=C0301,C0302,C0103,C0116,C0114,R0912,R0914,R0915,R1702,C0115,R0913
+# pylint: disable=C0301,R0912,R0913,R0914,R0915,C0116
# SPDX-License-Identifier: (GPL-2.0 OR MIT)
## Copyright (C) 2023 Intel Corporation ##
## Author: Mauro Carvalho Chehab <mchehab@kernel.org> ##
+"""Import contents of a XLS file into testplan documentation."""
+
import argparse
import json
import os
@@ -15,12 +17,18 @@ from openpyxl import load_workbook
from test_list import TestList
-EPILOG=""
+EPILOG = ""
#
# FillTests class definition
#
+
+
class FillTests(TestList):
+ """
+ Fill documentation source code test comments from a spreadsheet.
+ """
+
def __init__(self, config_path):
self.tests = {}
self.spreadsheet_data = {}
@@ -65,9 +73,9 @@ class FillTests(TestList):
for field, item in self.props.items():
if "sublevel" in item["_properties_"]:
- update = self.props[field]["_properties_"].get("update-from-file")
- if update:
- self.ignore_fields.append(field)
+ update = item["_properties_"].get("update-from-file")
+ if update:
+ self.ignore_fields.append(field)
def add_field(self, dic, field, value):
if field in dic and dic[field] != '':
@@ -79,7 +87,7 @@ class FillTests(TestList):
def process_spreadsheet_sheet(self, sheet):
- column_list=[]
+ column_list = []
for cell in sheet[1]:
column_list.append(cell.value)
@@ -112,7 +120,7 @@ class FillTests(TestList):
def read_spreadsheet_file(self, fname, sheets):
# Iterate the loop to read the cell values
- wb = load_workbook(filename = fname)
+ wb = load_workbook(filename=fname)
# Handle first "normal" sheets
for sheet in wb:
@@ -127,7 +135,7 @@ class FillTests(TestList):
current_field = None
i = line
- while 1:
+ while True:
i += 1
if i >= len(content):
break
@@ -177,7 +185,7 @@ class FillTests(TestList):
content.insert(i, f' * {field}: {value}\n')
- def parse_spreadsheet(self, fname, sheets = None):
+ def parse_spreadsheet(self, fname, sheets=None):
if not os.path.isfile(fname):
print(f'Warning: {fname} not found. Skipping spreadsheet parser')
return
@@ -207,8 +215,6 @@ class FillTests(TestList):
def update_test_file(self, testname, args):
try:
-# print(f"Updating {testname}")
-
sourcename = self.tests[testname]["File"]
with open(sourcename, 'r', encoding='utf8') as in_fp:
content = in_fp.read().splitlines(True)
@@ -235,11 +241,11 @@ class FillTests(TestList):
# Handling wildcards is not easy. Let's just skip those
for field, value in sorted(subtest_content.items()):
- if field in [ 'line', 'subtest_nr' ]:
+ if field in ['line', 'subtest_nr']:
continue
if args.ignore_lists:
- if field in self.ignore_fields:
+ if field in self.ignore_fields:
continue
doc_value = doc_content.get(field)
@@ -283,7 +289,6 @@ class FillTests(TestList):
print(f'Failed to write to {sourcename}')
def update_test_files(self, args):
-
""" Populate documentation """
for testname in self.tests:
@@ -293,18 +298,20 @@ class FillTests(TestList):
# Main
######
+
def main():
parser = argparse.ArgumentParser(description=__doc__,
- formatter_class = argparse.ArgumentDefaultsHelpFormatter,
- argument_default = argparse.SUPPRESS,
- epilog = EPILOG)
- parser.add_argument("--config", required = True,
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ argument_default=argparse.SUPPRESS,
+ epilog=EPILOG)
+ parser.add_argument("--config", required=True,
help="JSON file describing the test plan template")
- parser.add_argument("--xls", required = True,
+ parser.add_argument("--xls", required=True,
help="Input XLS file.")
- parser.add_argument("--sheets", nargs = "*",
+ parser.add_argument("--sheets", nargs="*",
help="Input only some specific sheets from the XLS file.")
- parser.add_argument('--ignore-lists',action='store_false', default=True, help='Ignore fields that are updated via test lists')
+ parser.add_argument('--ignore-lists', action='store_false', default=True,
+ help='Ignore fields that are updated via test lists')
parse_args = parser.parse_args()
@@ -315,13 +322,14 @@ def main():
fill_test.parse_spreadsheet(parse_args.xls, parse_args.sheets)
- ## DEBUG: remove it later on
+ # DEBUG: remove it later on
with open("fill_test.json", "w", encoding='utf8') as write_file:
- json.dump(fill_test.tests, write_file, indent = 4)
+ json.dump(fill_test.tests, write_file, indent=4)
with open("doc.json", "w", encoding='utf8') as write_file:
- json.dump(fill_test.doc, write_file, indent = 4)
+ json.dump(fill_test.doc, write_file, indent=4)
fill_test.update_test_files(parse_args)
+
if __name__ == '__main__':
main()
--
2.43.2
next prev parent reply other threads:[~2024-03-13 7:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-13 7:56 [PATCH i-g-t 0/6] Do several cleanups at scripts/xls_to_doc.py Mauro Carvalho Chehab
2024-03-13 7:56 ` [PATCH i-g-t 1/6] scripts/xls_to_doc.py: use a main() function Mauro Carvalho Chehab
2024-03-13 7:56 ` Mauro Carvalho Chehab [this message]
2024-03-13 7:56 ` [PATCH i-g-t 3/6] scripts/xls_to_doc.py: cleanup argparse logic Mauro Carvalho Chehab
2024-03-13 7:56 ` [PATCH i-g-t 4/6] scripts/xls_to_doc.py: fix issues with python < 3.7 Mauro Carvalho Chehab
2024-03-13 7:56 ` [PATCH i-g-t 5/6] scripts/xls_to_doc.py: document all functions Mauro Carvalho Chehab
2024-03-13 7:56 ` [PATCH i-g-t 6/6] scripts/xls_to_doc.py: don't be verbose by default Mauro Carvalho Chehab
2024-03-13 9:05 ` ✓ CI.xeBAT: success for Do several cleanups at scripts/xls_to_doc.py Patchwork
2024-03-13 9:09 ` ✓ Fi.CI.BAT: " Patchwork
2024-03-13 10:28 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-03-13 11:04 ` [PATCH i-g-t 0/6] " Piecielska, Katarzyna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240313075813.1114081-3-mauro.chehab@linux.intel.com \
--to=mauro.chehab@linux.intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=katarzyna.piecielska@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.