Message ID | 20180621083551.775-1-armbru@redhat.com |
---|---|
State | New |
Headers | show |
Series | qapi: Fix some pycodestyle-3 complaints | expand |
On Thu, Jun 21, 2018 at 10:35:51AM +0200, Markus Armbruster wrote: > Fix the following issues: > > common.py:873:13: E129 visually indented line with same indent as next logical line > common.py:1766:5: E741 ambiguous variable name 'l' > common.py:1784:1: E305 expected 2 blank lines after class or function definition, found 1 > common.py:1833:1: E305 expected 2 blank lines after class or function definition, found 1 > common.py:1843:1: E305 expected 2 blank lines after class or function definition, found 1 > visit.py:181:18: E127 continuation line over-indented for visual indent > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > scripts/qapi/common.py | 15 +++++++++------ > scripts/qapi/visit.py | 2 +- > 2 files changed, 10 insertions(+), 7 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> If we care about pycodestyle-3 compliance, it is probably worth adding that to 'make check' to avoid people introducing regressions. Regards, Daniel
Daniel P. Berrangé <berrange@redhat.com> writes: > On Thu, Jun 21, 2018 at 10:35:51AM +0200, Markus Armbruster wrote: >> Fix the following issues: >> >> common.py:873:13: E129 visually indented line with same indent as next logical line >> common.py:1766:5: E741 ambiguous variable name 'l' >> common.py:1784:1: E305 expected 2 blank lines after class or function definition, found 1 >> common.py:1833:1: E305 expected 2 blank lines after class or function definition, found 1 >> common.py:1843:1: E305 expected 2 blank lines after class or function definition, found 1 >> visit.py:181:18: E127 continuation line over-indented for visual indent >> >> Signed-off-by: Markus Armbruster <armbru@redhat.com> >> --- >> scripts/qapi/common.py | 15 +++++++++------ >> scripts/qapi/visit.py | 2 +- >> 2 files changed, 10 insertions(+), 7 deletions(-) > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > > > If we care about pycodestyle-3 compliance, it is probably worth adding > that to 'make check' to avoid people introducing regressions. It's not spotless, yet: $ pycodestyle-3 scripts/qapi-gen.py scripts/qapi/*.py scripts/qapi/commands.py:66:80: E501 line too long (93 > 79 characters) scripts/qapi/common.py:818:49: E261 at least two spaces before inline comment scripts/qapi/visit.py:24:80: E501 line too long (86 > 79 characters) scripts/qapi/visit.py:117:80: E501 line too long (88 > 79 characters) scripts/qapi/visit.py:154:80: E501 line too long (87 > 79 characters) scripts/qapi/visit.py:167:80: E501 line too long (88 > 79 characters) scripts/qapi/visit.py:237:80: E501 line too long (88 > 79 characters) The long lines are in mcgen() arguments. If cleaning these up is the price for automation, I guess we'll pay it. Thanks!
Forgot tests/qapi-schema/test-qapi.py, as usual. To be squashed in: diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py index 4512a41504..abbc9c7830 100644 --- a/tests/qapi-schema/test-qapi.py +++ b/tests/qapi-schema/test-qapi.py @@ -33,8 +33,8 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): if base: print(' base %s' % base.name) for m in members: - print(' member %s: %s optional=%s' % \ - (m.name, m.type.name, m.optional)) + print(' member %s: %s optional=%s' + % (m.name, m.type.name, m.optional)) self._print_variants(variants) def visit_alternate_type(self, name, info, variants): @@ -43,10 +43,11 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): def visit_command(self, name, info, arg_type, ret_type, gen, success_response, boxed, allow_oob, allow_preconfig): - print('command %s %s -> %s' % \ - (name, arg_type and arg_type.name, ret_type and ret_type.name)) - print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' % \ - (gen, success_response, boxed, allow_oob, allow_preconfig)) + print('command %s %s -> %s' + % (name, arg_type and arg_type.name, + ret_type and ret_type.name)) + print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' + % (gen, success_response, boxed, allow_oob, allow_preconfig)) def visit_event(self, name, info, arg_type, boxed): print('event %s %s' % (name, arg_type and arg_type.name))
On 06/21/2018 05:35 AM, Markus Armbruster wrote: > Fix the following issues: > > common.py:873:13: E129 visually indented line with same indent as next logical line > common.py:1766:5: E741 ambiguous variable name 'l' > common.py:1784:1: E305 expected 2 blank lines after class or function definition, found 1 > common.py:1833:1: E305 expected 2 blank lines after class or function definition, found 1 > common.py:1843:1: E305 expected 2 blank lines after class or function definition, found 1 > visit.py:181:18: E127 continuation line over-indented for visual indent > > Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > scripts/qapi/common.py | 15 +++++++++------ > scripts/qapi/visit.py | 2 +- > 2 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py > index 2462fc0291..e51767d44d 100644 > --- a/scripts/qapi/common.py > +++ b/scripts/qapi/common.py > @@ -865,12 +865,12 @@ def check_keys(expr_elem, meta, required, optional=[]): > if key not in required and key not in optional: > raise QAPISemError(info, "Unknown key '%s' in %s '%s'" > % (key, meta, name)) > - if (key == 'gen' or key == 'success-response') and value is not False: > + if key in ['gen', 'success-response'] and value is not False: > raise QAPISemError(info, > "'%s' of %s '%s' should only use false value" > % (key, meta, name)) > - if (key == 'boxed' or key == 'allow-oob' or > - key == 'allow-preconfig') and value is not True: > + if (key in ['boxed', 'allow-oob', 'allow-preconfig'] > + and value is not True): > raise QAPISemError(info, > "'%s' of %s '%s' should only use true value" > % (key, meta, name)) > @@ -1763,12 +1763,12 @@ def camel_to_upper(value): > return c_fun_str > > new_name = '' > - l = len(c_fun_str) > - for i in range(l): > + length = len(c_fun_str) > + for i in range(length): > c = c_fun_str[i] > # When c is upper and no '_' appears before, do more checks > if c.isupper() and (i > 0) and c_fun_str[i - 1] != '_': > - if i < l - 1 and c_fun_str[i + 1].islower(): > + if i < length - 1 and c_fun_str[i + 1].islower(): > new_name += '_' > elif c_fun_str[i - 1].isdigit(): > new_name += '_' > @@ -1781,6 +1781,7 @@ def c_enum_const(type_name, const_name, prefix=None): > type_name = prefix > return camel_to_upper(type_name) + '_' + c_name(const_name, False).upper() > > + > if hasattr(str, 'maketrans'): > c_name_trans = str.maketrans('.-', '__') > else: > @@ -1830,6 +1831,7 @@ def c_name(name, protect=True): > return 'q_' + name > return name > > + > eatspace = '\033EATSPACE.' > pointer_suffix = ' *' + eatspace > > @@ -1840,6 +1842,7 @@ def genindent(count): > ret += ' ' > return ret > > + > indent_level = 0 > > > diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py > index 5d72d8936c..1827c2a094 100644 > --- a/scripts/qapi/visit.py > +++ b/scripts/qapi/visit.py > @@ -178,7 +178,7 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error > } > switch ((*obj)->type) { > ''', > - c_name=c_name(name)) > + c_name=c_name(name)) > > for var in variants.variants: > ret += mcgen(''' >
On Thu, Jun 21, 2018 at 01:23:47PM +0200, Markus Armbruster wrote: > Daniel P. Berrangé <berrange@redhat.com> writes: > > > On Thu, Jun 21, 2018 at 10:35:51AM +0200, Markus Armbruster wrote: > >> Fix the following issues: > >> > >> common.py:873:13: E129 visually indented line with same indent as next logical line > >> common.py:1766:5: E741 ambiguous variable name 'l' > >> common.py:1784:1: E305 expected 2 blank lines after class or function definition, found 1 > >> common.py:1833:1: E305 expected 2 blank lines after class or function definition, found 1 > >> common.py:1843:1: E305 expected 2 blank lines after class or function definition, found 1 > >> visit.py:181:18: E127 continuation line over-indented for visual indent > >> > >> Signed-off-by: Markus Armbruster <armbru@redhat.com> > >> --- > >> scripts/qapi/common.py | 15 +++++++++------ > >> scripts/qapi/visit.py | 2 +- > >> 2 files changed, 10 insertions(+), 7 deletions(-) > > > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > > > > > > If we care about pycodestyle-3 compliance, it is probably worth adding > > that to 'make check' to avoid people introducing regressions. > > It's not spotless, yet: > > $ pycodestyle-3 scripts/qapi-gen.py scripts/qapi/*.py > scripts/qapi/commands.py:66:80: E501 line too long (93 > 79 characters) > scripts/qapi/common.py:818:49: E261 at least two spaces before inline comment > scripts/qapi/visit.py:24:80: E501 line too long (86 > 79 characters) > scripts/qapi/visit.py:117:80: E501 line too long (88 > 79 characters) > scripts/qapi/visit.py:154:80: E501 line too long (87 > 79 characters) > scripts/qapi/visit.py:167:80: E501 line too long (88 > 79 characters) > scripts/qapi/visit.py:237:80: E501 line too long (88 > 79 characters) > > The long lines are in mcgen() arguments. > > If cleaning these up is the price for automation, I guess we'll pay it. FWIW, --select=XXX or --ignore=XXX args let you turn off classes of warning we don't wish to fix. Regards, Daniel
On Thu, Jun 21, 2018 at 01:27:02PM +0200, Markus Armbruster wrote: > Forgot tests/qapi-schema/test-qapi.py, as usual. To be squashed in: > > diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py > index 4512a41504..abbc9c7830 100644 > --- a/tests/qapi-schema/test-qapi.py > +++ b/tests/qapi-schema/test-qapi.py > @@ -33,8 +33,8 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): > if base: > print(' base %s' % base.name) > for m in members: > - print(' member %s: %s optional=%s' % \ > - (m.name, m.type.name, m.optional)) > + print(' member %s: %s optional=%s' > + % (m.name, m.type.name, m.optional)) > self._print_variants(variants) > > def visit_alternate_type(self, name, info, variants): > @@ -43,10 +43,11 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): > > def visit_command(self, name, info, arg_type, ret_type, gen, > success_response, boxed, allow_oob, allow_preconfig): > - print('command %s %s -> %s' % \ > - (name, arg_type and arg_type.name, ret_type and ret_type.name)) > - print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' % \ > - (gen, success_response, boxed, allow_oob, allow_preconfig)) > + print('command %s %s -> %s' > + % (name, arg_type and arg_type.name, > + ret_type and ret_type.name)) > + print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' > + % (gen, success_response, boxed, allow_oob, allow_preconfig)) > > def visit_event(self, name, info, arg_type, boxed): > print('event %s %s' % (name, arg_type and arg_type.name)) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
Applied to qapi-next.
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py index 2462fc0291..e51767d44d 100644 --- a/scripts/qapi/common.py +++ b/scripts/qapi/common.py @@ -865,12 +865,12 @@ def check_keys(expr_elem, meta, required, optional=[]): if key not in required and key not in optional: raise QAPISemError(info, "Unknown key '%s' in %s '%s'" % (key, meta, name)) - if (key == 'gen' or key == 'success-response') and value is not False: + if key in ['gen', 'success-response'] and value is not False: raise QAPISemError(info, "'%s' of %s '%s' should only use false value" % (key, meta, name)) - if (key == 'boxed' or key == 'allow-oob' or - key == 'allow-preconfig') and value is not True: + if (key in ['boxed', 'allow-oob', 'allow-preconfig'] + and value is not True): raise QAPISemError(info, "'%s' of %s '%s' should only use true value" % (key, meta, name)) @@ -1763,12 +1763,12 @@ def camel_to_upper(value): return c_fun_str new_name = '' - l = len(c_fun_str) - for i in range(l): + length = len(c_fun_str) + for i in range(length): c = c_fun_str[i] # When c is upper and no '_' appears before, do more checks if c.isupper() and (i > 0) and c_fun_str[i - 1] != '_': - if i < l - 1 and c_fun_str[i + 1].islower(): + if i < length - 1 and c_fun_str[i + 1].islower(): new_name += '_' elif c_fun_str[i - 1].isdigit(): new_name += '_' @@ -1781,6 +1781,7 @@ def c_enum_const(type_name, const_name, prefix=None): type_name = prefix return camel_to_upper(type_name) + '_' + c_name(const_name, False).upper() + if hasattr(str, 'maketrans'): c_name_trans = str.maketrans('.-', '__') else: @@ -1830,6 +1831,7 @@ def c_name(name, protect=True): return 'q_' + name return name + eatspace = '\033EATSPACE.' pointer_suffix = ' *' + eatspace @@ -1840,6 +1842,7 @@ def genindent(count): ret += ' ' return ret + indent_level = 0 diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index 5d72d8936c..1827c2a094 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -178,7 +178,7 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error } switch ((*obj)->type) { ''', - c_name=c_name(name)) + c_name=c_name(name)) for var in variants.variants: ret += mcgen('''
Fix the following issues: common.py:873:13: E129 visually indented line with same indent as next logical line common.py:1766:5: E741 ambiguous variable name 'l' common.py:1784:1: E305 expected 2 blank lines after class or function definition, found 1 common.py:1833:1: E305 expected 2 blank lines after class or function definition, found 1 common.py:1843:1: E305 expected 2 blank lines after class or function definition, found 1 visit.py:181:18: E127 continuation line over-indented for visual indent Signed-off-by: Markus Armbruster <armbru@redhat.com> --- scripts/qapi/common.py | 15 +++++++++------ scripts/qapi/visit.py | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-)