From: John Snow <jsnow@redhat.com>
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: Michael Roth <michael.roth@amd.com>, John Snow <jsnow@redhat.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Cleber Rosa <crosa@redhat.com>
Subject: [PATCH v4 02/19] flake8: Enforce shorter line length for comments and docstrings
Date: Thu, 25 Mar 2021 02:03:39 -0400 [thread overview]
Message-ID: <20210325060356.4040114-3-jsnow@redhat.com> (raw)
In-Reply-To: <20210325060356.4040114-1-jsnow@redhat.com>
PEP8's BDFL writes: "For flowing long blocks of text with fewer
structural restrictions (docstrings or comments), the line length should
be limited to 72 characters."
I do not like this patch. I have included it explicitly to recommend we
do not pay any further heed to the 72 column limit.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qapi/.flake8 | 1 +
scripts/qapi/common.py | 8 +++++---
scripts/qapi/events.py | 9 +++++----
scripts/qapi/gen.py | 8 ++++----
scripts/qapi/introspect.py | 8 +++++---
scripts/qapi/main.py | 4 ++--
scripts/qapi/parser.py | 15 ++++++++-------
scripts/qapi/schema.py | 23 +++++++++++++----------
scripts/qapi/types.py | 7 ++++---
9 files changed, 47 insertions(+), 36 deletions(-)
diff --git a/scripts/qapi/.flake8 b/scripts/qapi/.flake8
index 6b158c68b8..4f00455290 100644
--- a/scripts/qapi/.flake8
+++ b/scripts/qapi/.flake8
@@ -1,2 +1,3 @@
[flake8]
extend-ignore = E722 # Prefer pylint's bare-except checks to flake8's
+max-doc-length = 72
\ No newline at end of file
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
index cbd3fd81d3..6e3d9b8ecd 100644
--- a/scripts/qapi/common.py
+++ b/scripts/qapi/common.py
@@ -41,7 +41,8 @@ def camel_to_upper(value: str) -> str:
length = len(c_fun_str)
for i in range(length):
char = c_fun_str[i]
- # When char is upper case and no '_' appears before, do more checks
+ # When char is upper case and no '_' appears before,
+ # do more checks
if char.isupper() and (i > 0) and c_fun_str[i - 1] != '_':
if i < length - 1 and c_fun_str[i + 1].islower():
new_name += '_'
@@ -78,8 +79,9 @@ def c_name(name: str, protect: bool = True) -> str:
protect=True: 'int' -> 'q_int'; protect=False: 'int' -> 'int'
:param name: The name to map.
- :param protect: If true, avoid returning certain ticklish identifiers
- (like C keywords) by prepending ``q_``.
+ :param protect: If true, avoid returning certain ticklish
+ identifiers (like C keywords) by prepending
+ ``q_``.
"""
# ANSI X3J11/88-090, 3.1.1
c89_words = set(['auto', 'break', 'case', 'char', 'const', 'continue',
diff --git a/scripts/qapi/events.py b/scripts/qapi/events.py
index fee8c671e7..210b56974f 100644
--- a/scripts/qapi/events.py
+++ b/scripts/qapi/events.py
@@ -48,7 +48,8 @@ def gen_param_var(typ: QAPISchemaObjectType) -> str:
"""
Generate a struct variable holding the event parameters.
- Initialize it with the function arguments defined in `gen_event_send`.
+ Initialize it with the function arguments defined in
+ `gen_event_send`.
"""
assert not typ.variants
ret = mcgen('''
@@ -86,9 +87,9 @@ def gen_event_send(name: str,
# FIXME: Our declaration of local variables (and of 'errp' in the
# parameter list) can collide with exploded members of the event's
# data type passed in as parameters. If this collision ever hits in
- # practice, we can rename our local variables with a leading _ prefix,
- # or split the code into a wrapper function that creates a boxed
- # 'param' object then calls another to do the real work.
+ # practice, we can rename our local variables with a leading _
+ # prefix, or split the code into a wrapper function that creates a
+ # boxed 'param' object then calls another to do the real work.
have_args = boxed or (arg_type and not arg_type.is_empty())
ret = mcgen('''
diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py
index 1fa503bdbd..c54980074e 100644
--- a/scripts/qapi/gen.py
+++ b/scripts/qapi/gen.py
@@ -63,9 +63,9 @@ def _bottom(self) -> str:
return ''
def write(self, output_dir: str) -> None:
- # Include paths starting with ../ are used to reuse modules of the main
- # schema in specialised schemas. Don't overwrite the files that are
- # already generated for the main schema.
+ # Include paths starting with ../ are used to reuse modules
+ # of the main schema in specialised schemas. Don't overwrite
+ # the files that are already generated for the main schema.
if self.fname.startswith('../'):
return
pathname = os.path.join(output_dir, self.fname)
@@ -189,7 +189,7 @@ def _bottom(self) -> str:
@contextmanager
def ifcontext(ifcond: Sequence[str], *args: QAPIGenCCode) -> Iterator[None]:
"""
- A with-statement context manager that wraps with `start_if()` / `end_if()`.
+ A context manager that wraps output with `start_if()` / `end_if()`.
:param ifcond: A sequence of conditionals, passed to `start_if()`.
:param args: any number of `QAPIGenCCode`.
diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py
index 9a348ca2e5..faf00013ad 100644
--- a/scripts/qapi/introspect.py
+++ b/scripts/qapi/introspect.py
@@ -61,8 +61,9 @@
# With optional annotations, the type of all values is:
# JSONValue = Union[_Value, Annotated[_Value]]
#
-# Sadly, mypy does not support recursive types; so the _Stub alias is used to
-# mark the imprecision in the type model where we'd otherwise use JSONValue.
+# Sadly, mypy does not support recursive types; so the _Stub alias is
+# used to mark the imprecision in the type model where we'd otherwise
+# use JSONValue.
_Stub = Any
_Scalar = Union[str, bool, None]
_NonScalar = Union[Dict[str, _Stub], List[_Stub]]
@@ -217,7 +218,8 @@ def visit_end(self) -> None:
self._name_map = {}
def visit_needed(self, entity: QAPISchemaEntity) -> bool:
- # Ignore types on first pass; visit_end() will pick up used types
+ # Ignore types on first pass;
+ # visit_end() will pick up used types
return not isinstance(entity, QAPISchemaType)
def _name(self, name: str) -> str:
diff --git a/scripts/qapi/main.py b/scripts/qapi/main.py
index 703e7ed1ed..5bcac83985 100644
--- a/scripts/qapi/main.py
+++ b/scripts/qapi/main.py
@@ -1,5 +1,5 @@
-# This work is licensed under the terms of the GNU GPL, version 2 or later.
-# See the COPYING file in the top-level directory.
+# This work is licensed under the terms of the GNU GPL, version 2 or
+# later. See the COPYING file in the top-level directory.
"""
QAPI Generator
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index 58267c3db9..d5bf91f2b0 100644
--- a/scripts/qapi/parser.py
+++ b/scripts/qapi/parser.py
@@ -331,8 +331,8 @@ def __init__(self, parser, name=None, indent=0):
self._indent = indent
def append(self, line):
- # Strip leading spaces corresponding to the expected indent level
- # Blank lines are always OK.
+ # Strip leading spaces corresponding to the expected indent
+ # level. Blank lines are always OK.
if line:
indent = re.match(r'\s*', line).end()
if indent < self._indent:
@@ -353,10 +353,10 @@ def connect(self, member):
self.member = member
def __init__(self, parser, info):
- # self._parser is used to report errors with QAPIParseError. The
- # resulting error position depends on the state of the parser.
- # It happens to be the beginning of the comment. More or less
- # servicable, but action at a distance.
+ # self._parser is used to report errors with QAPIParseError.
+ # The resulting error position depends on the state of the
+ # parser. It happens to be the beginning of the comment. More
+ # or less servicable, but action at a distance.
self._parser = parser
self.info = info
self.symbol = None
@@ -430,7 +430,8 @@ def _append_body_line(self, line):
if not line.endswith(':'):
raise QAPIParseError(self._parser, "line should end with ':'")
self.symbol = line[1:-1]
- # FIXME invalid names other than the empty string aren't flagged
+ # FIXME invalid names other than the empty string aren't
+ # flagged
if not self.symbol:
raise QAPIParseError(self._parser, "invalid name")
elif self.symbol:
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 703b446fd2..01cdd753cd 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -166,9 +166,10 @@ def is_user_module(cls, name: str) -> bool:
@classmethod
def is_builtin_module(cls, name: str) -> bool:
"""
- The built-in module is a single System module for the built-in types.
+ Return true when given the built-in module name.
- It is always "./builtin".
+ The built-in module is a specific System module for the built-in
+ types. It is always "./builtin".
"""
return name == cls.BUILTIN_MODULE_NAME
@@ -294,7 +295,8 @@ def connect_doc(self, doc=None):
m.connect_doc(doc)
def is_implicit(self):
- # See QAPISchema._make_implicit_enum_type() and ._def_predefineds()
+ # See QAPISchema._make_implicit_enum_type() and
+ # ._def_predefineds()
return self.name.endswith('Kind') or self.name == 'QType'
def c_type(self):
@@ -421,9 +423,9 @@ def check(self, schema):
self.members = members # mark completed
- # Check that the members of this type do not cause duplicate JSON members,
- # and update seen to track the members seen so far. Report any errors
- # on behalf of info, which is not necessarily self.info
+ # Check that the members of this type do not cause duplicate JSON
+ # members, and update seen to track the members seen so far. Report
+ # any errors on behalf of info, which is not necessarily self.info
def check_clash(self, info, seen):
assert self._checked
assert not self.variants # not implemented
@@ -494,11 +496,12 @@ def __init__(self, name, info, doc, ifcond, features, variants):
def check(self, schema):
super().check(schema)
self.variants.tag_member.check(schema)
- # Not calling self.variants.check_clash(), because there's nothing
- # to clash with
+ # Not calling self.variants.check_clash(), because there's
+ # nothing to clash with
self.variants.check(schema, {})
- # Alternate branch names have no relation to the tag enum values;
- # so we have to check for potential name collisions ourselves.
+ # Alternate branch names have no relation to the tag enum
+ # values; so we have to check for potential name collisions
+ # ourselves.
seen = {}
types_seen = {}
for v in self.variants.variants:
diff --git a/scripts/qapi/types.py b/scripts/qapi/types.py
index 20d572a23a..2e67ab1752 100644
--- a/scripts/qapi/types.py
+++ b/scripts/qapi/types.py
@@ -35,8 +35,8 @@
from .source import QAPISourceInfo
-# variants must be emitted before their container; track what has already
-# been output
+# variants must be emitted before their container; track what has
+# already been output
objects_seen = set()
@@ -297,7 +297,8 @@ def _begin_user_module(self, name: str) -> None:
'''))
def visit_begin(self, schema: QAPISchema) -> None:
- # gen_object() is recursive, ensure it doesn't visit the empty type
+ # gen_object() is recursive, ensure
+ # it doesn't visit the empty type
objects_seen.add(schema.the_empty_object_type.name)
def _gen_type_cleanup(self, name: str) -> None:
--
2.30.2
next prev parent reply other threads:[~2021-03-25 6:12 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-25 6:03 [PATCH v4 00/19] qapi: static typing conversion, pt3 John Snow
2021-03-25 6:03 ` [PATCH v4 01/19] qapi/expr: Comment cleanup John Snow
2021-03-25 15:41 ` Markus Armbruster
2021-03-25 20:06 ` John Snow
2021-03-25 6:03 ` John Snow [this message]
2021-03-25 15:21 ` [PATCH v4 02/19] flake8: Enforce shorter line length for comments and docstrings Markus Armbruster
2021-03-25 20:20 ` John Snow
2021-03-26 6:26 ` Markus Armbruster
2021-03-26 16:30 ` John Snow
2021-03-26 16:44 ` Peter Maydell
2021-04-08 8:32 ` Markus Armbruster
2021-04-08 8:58 ` Daniel P. Berrangé
2021-04-09 9:33 ` Markus Armbruster
2021-04-09 17:08 ` John Snow
2021-04-08 8:35 ` Markus Armbruster
2021-04-16 12:44 ` Markus Armbruster
2021-04-16 20:25 ` John Snow
2021-04-17 10:52 ` Markus Armbruster
2021-04-20 18:06 ` John Snow
2021-03-25 6:03 ` [PATCH v4 03/19] qapi/expr.py: Remove 'info' argument from nested check_if_str John Snow
2021-03-25 6:03 ` [PATCH v4 04/19] qapi/expr.py: Check for dict instead of OrderedDict John Snow
2021-03-25 6:03 ` [PATCH v4 05/19] qapi/expr.py: constrain incoming expression types John Snow
2021-03-25 14:04 ` Markus Armbruster
2021-03-25 20:48 ` John Snow
2021-03-26 5:40 ` Markus Armbruster
2021-03-26 17:12 ` John Snow
2021-03-25 6:03 ` [PATCH v4 06/19] qapi/expr.py: Add assertion for union type 'check_dict' John Snow
2021-03-25 6:03 ` [PATCH v4 07/19] qapi/expr.py: move string check upwards in check_type John Snow
2021-03-25 6:03 ` [PATCH v4 08/19] qapi: add tests for invalid 'data' field type John Snow
2021-03-25 14:24 ` Markus Armbruster
2021-03-25 6:03 ` [PATCH v4 09/19] qapi/expr.py: Check type of 'data' member John Snow
2021-03-25 14:26 ` Markus Armbruster
2021-03-25 21:04 ` John Snow
2021-03-25 6:03 ` [PATCH v4 10/19] qapi/expr.py: Add casts in a few select cases John Snow
2021-03-25 14:33 ` Markus Armbruster
2021-03-25 23:32 ` John Snow
2021-03-25 6:03 ` [PATCH v4 11/19] qapi/expr.py: Modify check_keys to accept any Collection John Snow
2021-03-25 14:45 ` Markus Armbruster
2021-03-25 23:37 ` John Snow
2021-03-25 6:03 ` [PATCH v4 12/19] qapi/expr.py: add type hint annotations John Snow
2021-03-25 6:03 ` [PATCH v4 13/19] qapi/expr.py: Consolidate check_if_str calls in check_if John Snow
2021-03-25 15:15 ` Markus Armbruster
2021-03-26 0:07 ` John Snow
2021-03-25 6:03 ` [PATCH v4 14/19] qapi/expr.py: Remove single-letter variable John Snow
2021-03-25 6:03 ` [PATCH v4 15/19] qapi/expr.py: enable pylint checks John Snow
2021-03-25 6:03 ` [PATCH v4 16/19] qapi/expr.py: Add docstrings John Snow
2021-04-14 15:04 ` Markus Armbruster
2021-04-17 1:00 ` John Snow
2021-04-17 13:18 ` Markus Armbruster
2021-04-21 1:27 ` John Snow
2021-04-21 13:58 ` Markus Armbruster
2021-04-21 18:20 ` John Snow
2021-03-25 6:03 ` [PATCH v4 17/19] qapi/expr.py: Use tuples instead of lists for static data John Snow
2021-03-25 15:19 ` Markus Armbruster
2021-03-25 6:03 ` [PATCH v4 18/19] qapi/expr.py: move related checks inside check_xxx functions John Snow
2021-03-25 6:03 ` [PATCH v4 19/19] qapi/expr.py: Use an expression checker dispatch table John Snow
2021-03-25 15:46 ` [PATCH v4 00/19] qapi: static typing conversion, pt3 Markus Armbruster
2021-03-26 0:40 ` John Snow
2021-03-26 18:01 ` John Snow
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=20210325060356.4040114-3-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=armbru@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=michael.roth@amd.com \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).