[PATCH v5 08/36] qapi: delint using flake8

John Snow posted 36 patches 5 years, 1 month ago
Maintainers: Eduardo Habkost <ehabkost@redhat.com>, Cleber Rosa <crosa@redhat.com>, Michael Roth <mdroth@linux.vnet.ibm.com>, Markus Armbruster <armbru@redhat.com>
There is a newer version of this series
[PATCH v5 08/36] qapi: delint using flake8
Posted by John Snow 5 years, 1 month ago
Petty style guide fixes and line length enforcement.  Not a big win, not
a big loss, but flake8 passes 100% on the qapi module, which gives us an
easy baseline to enforce hereafter.

A note on the flake8 exception: flake8 will warn on *any* bare except,
but pylint's is context-aware and will suppress the warning if you
re-raise the exception.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
---
 scripts/qapi/.flake8     |  2 ++
 scripts/qapi/commands.py |  3 ++-
 scripts/qapi/schema.py   |  8 +++++---
 scripts/qapi/visit.py    | 16 +++++++++++-----
 4 files changed, 20 insertions(+), 9 deletions(-)
 create mode 100644 scripts/qapi/.flake8

diff --git a/scripts/qapi/.flake8 b/scripts/qapi/.flake8
new file mode 100644
index 00000000000..6b158c68b84
--- /dev/null
+++ b/scripts/qapi/.flake8
@@ -0,0 +1,2 @@
+[flake8]
+extend-ignore = E722  # Prefer pylint's bare-except checks to flake8's
diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py
index 64ed5278f93..5dc2f5a9fa8 100644
--- a/scripts/qapi/commands.py
+++ b/scripts/qapi/commands.py
@@ -65,7 +65,8 @@ def gen_call(name, arg_type, boxed, ret_type):
 def gen_marshal_output(ret_type):
     return mcgen('''
 
-static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, QObject **ret_out, Error **errp)
+static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in,
+                                QObject **ret_out, Error **errp)
 {
     Visitor *v;
 
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 093f7a38d88..cfc52e1ae44 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -536,7 +536,7 @@ def set_defined_in(self, name):
             v.set_defined_in(name)
 
     def check(self, schema, seen):
-        if not self.tag_member: # flat union
+        if not self.tag_member:  # flat union
             self.tag_member = seen.get(c_name(self._tag_name))
             base = "'base'"
             # Pointing to the base type when not implicit would be
@@ -821,7 +821,7 @@ def __init__(self, fname):
         self._entity_dict = {}
         self._module_dict = OrderedDict()
         self._schema_dir = os.path.dirname(fname)
-        self._make_module(None) # built-ins
+        self._make_module(None)  # built-ins
         self._make_module(fname)
         self._predefining = True
         self._def_predefineds()
@@ -965,7 +965,9 @@ def _make_implicit_object_type(self, name, info, ifcond, role, members):
             # But it's not tight: the disjunction need not imply it.  We
             # may end up compiling useless wrapper types.
             # TODO kill simple unions or implement the disjunction
-            assert (ifcond or []) == typ._ifcond # pylint: disable=protected-access
+
+            # pylint: disable=protected-access
+            assert (ifcond or []) == typ._ifcond
         else:
             self._def_entity(QAPISchemaObjectType(
                 name, info, None, ifcond, None, None, members, None))
diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py
index ea277e7704b..808410d6f1b 100644
--- a/scripts/qapi/visit.py
+++ b/scripts/qapi/visit.py
@@ -31,7 +31,9 @@ def gen_visit_decl(name, scalar=False):
     if not scalar:
         c_type += '*'
     return mcgen('''
-bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_type)sobj, Error **errp);
+
+bool visit_type_%(c_name)s(Visitor *v, const char *name,
+                 %(c_type)sobj, Error **errp);
 ''',
                  c_name=c_name(name), c_type=c_type)
 
@@ -125,7 +127,8 @@ def gen_visit_object_members(name, base, members, variants):
 def gen_visit_list(name, element_type):
     return mcgen('''
 
-bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
+bool visit_type_%(c_name)s(Visitor *v, const char *name,
+                 %(c_name)s **obj, Error **errp)
 {
     bool ok = false;
     %(c_name)s *tail;
@@ -158,7 +161,8 @@ def gen_visit_list(name, element_type):
 def gen_visit_enum(name):
     return mcgen('''
 
-bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s *obj, Error **errp)
+bool visit_type_%(c_name)s(Visitor *v, const char *name,
+                 %(c_name)s *obj, Error **errp)
 {
     int value = *obj;
     bool ok = visit_type_enum(v, name, &value, &%(c_name)s_lookup, errp);
@@ -172,7 +176,8 @@ def gen_visit_enum(name):
 def gen_visit_alternate(name, variants):
     ret = mcgen('''
 
-bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
+bool visit_type_%(c_name)s
+    (Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
 {
     bool ok = false;
 
@@ -247,7 +252,8 @@ def gen_visit_alternate(name, variants):
 def gen_visit_object(name, base, members, variants):
     return mcgen('''
 
-bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
+bool visit_type_%(c_name)s
+    (Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
 {
     bool ok = false;
 
-- 
2.26.2


Re: [PATCH v5 08/36] qapi: delint using flake8
Posted by Markus Armbruster 5 years, 1 month ago
John Snow <jsnow@redhat.com> writes:

> Petty style guide fixes and line length enforcement.  Not a big win, not
> a big loss, but flake8 passes 100% on the qapi module, which gives us an
> easy baseline to enforce hereafter.
>
> A note on the flake8 exception: flake8 will warn on *any* bare except,
> but pylint's is context-aware and will suppress the warning if you
> re-raise the exception.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> Reviewed-by: Cleber Rosa <crosa@redhat.com>
> ---
>  scripts/qapi/.flake8     |  2 ++
>  scripts/qapi/commands.py |  3 ++-
>  scripts/qapi/schema.py   |  8 +++++---
>  scripts/qapi/visit.py    | 16 +++++++++++-----
>  4 files changed, 20 insertions(+), 9 deletions(-)
>  create mode 100644 scripts/qapi/.flake8
>
> diff --git a/scripts/qapi/.flake8 b/scripts/qapi/.flake8
> new file mode 100644
> index 00000000000..6b158c68b84
> --- /dev/null
> +++ b/scripts/qapi/.flake8
> @@ -0,0 +1,2 @@
> +[flake8]
> +extend-ignore = E722  # Prefer pylint's bare-except checks to flake8's
> diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py
> index 64ed5278f93..5dc2f5a9fa8 100644
> --- a/scripts/qapi/commands.py
> +++ b/scripts/qapi/commands.py
> @@ -65,7 +65,8 @@ def gen_call(name, arg_type, boxed, ret_type):
>  def gen_marshal_output(ret_type):
>      return mcgen('''
>  
> -static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, QObject **ret_out, Error **errp)
> +static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in,
> +                                QObject **ret_out, Error **errp)
>  {
>      Visitor *v;
>  
> diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
> index 093f7a38d88..cfc52e1ae44 100644
> --- a/scripts/qapi/schema.py
> +++ b/scripts/qapi/schema.py
> @@ -536,7 +536,7 @@ def set_defined_in(self, name):
>              v.set_defined_in(name)
>  
>      def check(self, schema, seen):
> -        if not self.tag_member: # flat union
> +        if not self.tag_member:  # flat union
>              self.tag_member = seen.get(c_name(self._tag_name))
>              base = "'base'"
>              # Pointing to the base type when not implicit would be
> @@ -821,7 +821,7 @@ def __init__(self, fname):
>          self._entity_dict = {}
>          self._module_dict = OrderedDict()
>          self._schema_dir = os.path.dirname(fname)
> -        self._make_module(None) # built-ins
> +        self._make_module(None)  # built-ins
>          self._make_module(fname)
>          self._predefining = True
>          self._def_predefineds()
> @@ -965,7 +965,9 @@ def _make_implicit_object_type(self, name, info, ifcond, role, members):
>              # But it's not tight: the disjunction need not imply it.  We
>              # may end up compiling useless wrapper types.
>              # TODO kill simple unions or implement the disjunction
> -            assert (ifcond or []) == typ._ifcond # pylint: disable=protected-access
> +
> +            # pylint: disable=protected-access
> +            assert (ifcond or []) == typ._ifcond
>          else:
>              self._def_entity(QAPISchemaObjectType(
>                  name, info, None, ifcond, None, None, members, None))
> diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py
> index ea277e7704b..808410d6f1b 100644
> --- a/scripts/qapi/visit.py
> +++ b/scripts/qapi/visit.py
> @@ -31,7 +31,9 @@ def gen_visit_decl(name, scalar=False):
>      if not scalar:
>          c_type += '*'
>      return mcgen('''
> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_type)sobj, Error **errp);
> +
> +bool visit_type_%(c_name)s(Visitor *v, const char *name,
> +                 %(c_type)sobj, Error **errp);
>  ''',
>                   c_name=c_name(name), c_type=c_type)
>  
> @@ -125,7 +127,8 @@ def gen_visit_object_members(name, base, members, variants):
>  def gen_visit_list(name, element_type):
>      return mcgen('''
>  
> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
> +bool visit_type_%(c_name)s(Visitor *v, const char *name,
> +                 %(c_name)s **obj, Error **errp)
>  {
>      bool ok = false;
>      %(c_name)s *tail;
> @@ -158,7 +161,8 @@ def gen_visit_list(name, element_type):
>  def gen_visit_enum(name):
>      return mcgen('''
>  
> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s *obj, Error **errp)
> +bool visit_type_%(c_name)s(Visitor *v, const char *name,
> +                 %(c_name)s *obj, Error **errp)
>  {
>      int value = *obj;
>      bool ok = visit_type_enum(v, name, &value, &%(c_name)s_lookup, errp);
> @@ -172,7 +176,8 @@ def gen_visit_enum(name):
>  def gen_visit_alternate(name, variants):
>      ret = mcgen('''
>  
> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
> +bool visit_type_%(c_name)s
> +    (Visitor *v, const char *name, %(c_name)s **obj, Error **errp)

Please break this line the same way as the ones above:

   bool visit_type_%(c_name)s(Visitor *v, const char *name,
                    %(c_name)s **obj, Error **errp)

>  {
>      bool ok = false;
>  
> @@ -247,7 +252,8 @@ def gen_visit_alternate(name, variants):
>  def gen_visit_object(name, base, members, variants):
>      return mcgen('''
>  
> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
> +bool visit_type_%(c_name)s
> +    (Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
>  {
>      bool ok = false;

Likewise.


Re: [PATCH v5 08/36] qapi: delint using flake8
Posted by John Snow 5 years, 1 month ago
On 10/7/20 4:19 AM, Markus Armbruster wrote:
> John Snow <jsnow@redhat.com> writes:
> 
>> Petty style guide fixes and line length enforcement.  Not a big win, not
>> a big loss, but flake8 passes 100% on the qapi module, which gives us an
>> easy baseline to enforce hereafter.
>>
>> A note on the flake8 exception: flake8 will warn on *any* bare except,
>> but pylint's is context-aware and will suppress the warning if you
>> re-raise the exception.
>>
>> Signed-off-by: John Snow <jsnow@redhat.com>
>> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
>> Reviewed-by: Cleber Rosa <crosa@redhat.com>
>> ---
>>   scripts/qapi/.flake8     |  2 ++
>>   scripts/qapi/commands.py |  3 ++-
>>   scripts/qapi/schema.py   |  8 +++++---
>>   scripts/qapi/visit.py    | 16 +++++++++++-----
>>   4 files changed, 20 insertions(+), 9 deletions(-)
>>   create mode 100644 scripts/qapi/.flake8
>>
>> diff --git a/scripts/qapi/.flake8 b/scripts/qapi/.flake8
>> new file mode 100644
>> index 00000000000..6b158c68b84
>> --- /dev/null
>> +++ b/scripts/qapi/.flake8
>> @@ -0,0 +1,2 @@
>> +[flake8]
>> +extend-ignore = E722  # Prefer pylint's bare-except checks to flake8's
>> diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py
>> index 64ed5278f93..5dc2f5a9fa8 100644
>> --- a/scripts/qapi/commands.py
>> +++ b/scripts/qapi/commands.py
>> @@ -65,7 +65,8 @@ def gen_call(name, arg_type, boxed, ret_type):
>>   def gen_marshal_output(ret_type):
>>       return mcgen('''
>>   
>> -static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, QObject **ret_out, Error **errp)
>> +static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in,
>> +                                QObject **ret_out, Error **errp)
>>   {
>>       Visitor *v;
>>   
>> diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
>> index 093f7a38d88..cfc52e1ae44 100644
>> --- a/scripts/qapi/schema.py
>> +++ b/scripts/qapi/schema.py
>> @@ -536,7 +536,7 @@ def set_defined_in(self, name):
>>               v.set_defined_in(name)
>>   
>>       def check(self, schema, seen):
>> -        if not self.tag_member: # flat union
>> +        if not self.tag_member:  # flat union
>>               self.tag_member = seen.get(c_name(self._tag_name))
>>               base = "'base'"
>>               # Pointing to the base type when not implicit would be
>> @@ -821,7 +821,7 @@ def __init__(self, fname):
>>           self._entity_dict = {}
>>           self._module_dict = OrderedDict()
>>           self._schema_dir = os.path.dirname(fname)
>> -        self._make_module(None) # built-ins
>> +        self._make_module(None)  # built-ins
>>           self._make_module(fname)
>>           self._predefining = True
>>           self._def_predefineds()
>> @@ -965,7 +965,9 @@ def _make_implicit_object_type(self, name, info, ifcond, role, members):
>>               # But it's not tight: the disjunction need not imply it.  We
>>               # may end up compiling useless wrapper types.
>>               # TODO kill simple unions or implement the disjunction
>> -            assert (ifcond or []) == typ._ifcond # pylint: disable=protected-access
>> +
>> +            # pylint: disable=protected-access
>> +            assert (ifcond or []) == typ._ifcond
>>           else:
>>               self._def_entity(QAPISchemaObjectType(
>>                   name, info, None, ifcond, None, None, members, None))
>> diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py
>> index ea277e7704b..808410d6f1b 100644
>> --- a/scripts/qapi/visit.py
>> +++ b/scripts/qapi/visit.py
>> @@ -31,7 +31,9 @@ def gen_visit_decl(name, scalar=False):
>>       if not scalar:
>>           c_type += '*'
>>       return mcgen('''
>> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_type)sobj, Error **errp);
>> +
>> +bool visit_type_%(c_name)s(Visitor *v, const char *name,
>> +                 %(c_type)sobj, Error **errp);
>>   ''',
>>                    c_name=c_name(name), c_type=c_type)
>>   
>> @@ -125,7 +127,8 @@ def gen_visit_object_members(name, base, members, variants):
>>   def gen_visit_list(name, element_type):
>>       return mcgen('''
>>   
>> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
>> +bool visit_type_%(c_name)s(Visitor *v, const char *name,
>> +                 %(c_name)s **obj, Error **errp)
>>   {
>>       bool ok = false;
>>       %(c_name)s *tail;
>> @@ -158,7 +161,8 @@ def gen_visit_list(name, element_type):
>>   def gen_visit_enum(name):
>>       return mcgen('''
>>   
>> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s *obj, Error **errp)
>> +bool visit_type_%(c_name)s(Visitor *v, const char *name,
>> +                 %(c_name)s *obj, Error **errp)
>>   {
>>       int value = *obj;
>>       bool ok = visit_type_enum(v, name, &value, &%(c_name)s_lookup, errp);
>> @@ -172,7 +176,8 @@ def gen_visit_enum(name):
>>   def gen_visit_alternate(name, variants):
>>       ret = mcgen('''
>>   
>> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
>> +bool visit_type_%(c_name)s
>> +    (Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
> 
> Please break this line the same way as the ones above:
> 
>     bool visit_type_%(c_name)s(Visitor *v, const char *name,
>                      %(c_name)s **obj, Error **errp)
> 
>>   {
>>       bool ok = false;
>>   
>> @@ -247,7 +252,8 @@ def gen_visit_alternate(name, variants):
>>   def gen_visit_object(name, base, members, variants):
>>       return mcgen('''
>>   
>> -bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
>> +bool visit_type_%(c_name)s
>> +    (Visitor *v, const char *name, %(c_name)s **obj, Error **errp)
>>   {
>>       bool ok = false;
> 
> Likewise.
> 

Whupps. Bad conflict resolution on my part. Didn't mean to do this.

--js