cfg.mk | 8 +++----- configure.ac | 4 ++++ 2 files changed, 7 insertions(+), 5 deletions(-)
Replace 'sc_prohibit_semicolon_at_eol_in_python' with generic 'sc_flake8' rule
to check python code style.
Now 'sc_flake8' just check the error E703: 'statement ends with a semicolon'.
In future, we could use '--select' to introduce more rules.
Signed-off-by: Shi Lei <shi_lei@massclouds.com>
---
cfg.mk | 8 +++-----
configure.ac | 4 ++++
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/cfg.mk b/cfg.mk
index 42e1abf0..8acc45ac 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -812,11 +812,9 @@ sc_require_enum_last_marker:
exit 1; } || :
# In Python files we don't want to end lines with a semicolon like in C
-sc_prohibit_semicolon_at_eol_in_python:
- @prohibit='^[^#].*\;$$' \
- in_vc_files='\.py$$' \
- halt='python does not require to end lines with a semicolon' \
- $(_sc_search_regexp)
+sc_flake8:
+ @$(VC_LIST_EXCEPT) | $(GREP) '\.py$$' | xargs $(FLAKE8) --select E703 \
+ | $(GREP) . && { exit 1; } || :
# mymain() in test files should use return, not exit, for nicer output
sc_prohibit_exit_in_tests:
diff --git a/configure.ac b/configure.ac
index a8f8b051..93212ca7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -704,6 +704,10 @@ AC_PATH_PROGS([PYTHON], [python3 python2 python])
if test -z "$PYTHON"; then
AC_MSG_ERROR(['python3', 'python2' or 'python' binary is required to build libvirt])
fi
+AC_PATH_PROG([FLAKE8], [flake8])
+if test -z "$FLAKE8"; then
+ AC_MSG_ERROR(['flake8' binary is required to check python code style])
+fi
AC_PATH_PROG([PERL], [perl])
if test -z "$PERL"; then
AC_MSG_ERROR(['perl' binary is required to build libvirt])
--
2.17.1
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Fri, Sep 13, 2019 at 01:37:20AM +0800, Shi Lei wrote:
>Replace 'sc_prohibit_semicolon_at_eol_in_python' with generic 'sc_flake8' rule
>to check python code style.
>
>Now 'sc_flake8' just check the error E703: 'statement ends with a semicolon'.
>In future, we could use '--select' to introduce more rules.
>
Nice, less language parsers using regexes in libvirt!
>Signed-off-by: Shi Lei <shi_lei@massclouds.com>
>---
> cfg.mk | 8 +++-----
> configure.ac | 4 ++++
> 2 files changed, 7 insertions(+), 5 deletions(-)
>
>diff --git a/cfg.mk b/cfg.mk
>index 42e1abf0..8acc45ac 100644
>--- a/cfg.mk
>+++ b/cfg.mk
>@@ -812,11 +812,9 @@ sc_require_enum_last_marker:
> exit 1; } || :
>
> # In Python files we don't want to end lines with a semicolon like in C
>-sc_prohibit_semicolon_at_eol_in_python:
>- @prohibit='^[^#].*\;$$' \
>- in_vc_files='\.py$$' \
>- halt='python does not require to end lines with a semicolon' \
>- $(_sc_search_regexp)
>+sc_flake8:
>+ @$(VC_LIST_EXCEPT) | $(GREP) '\.py$$' | xargs $(FLAKE8) --select E703 \
>+ | $(GREP) . && { exit 1; } || :
I don't think this line is necessary - we can just use the return value
from flake8
>
> # mymain() in test files should use return, not exit, for nicer output
> sc_prohibit_exit_in_tests:
>diff --git a/configure.ac b/configure.ac
>index a8f8b051..93212ca7 100644
>--- a/configure.ac
>+++ b/configure.ac
>@@ -704,6 +704,10 @@ AC_PATH_PROGS([PYTHON], [python3 python2 python])
> if test -z "$PYTHON"; then
> AC_MSG_ERROR(['python3', 'python2' or 'python' binary is required to build libvirt])
> fi
>+AC_PATH_PROG([FLAKE8], [flake8])
>+if test -z "$FLAKE8"; then
>+ AC_MSG_ERROR(['flake8' binary is required to check python code style])
While the error message is true, checking the code style is something
only developers should care about, so I'd make this a soft requirement
like we do with cppi.
Jano
>+fi
> AC_PATH_PROG([PERL], [perl])
> if test -z "$PERL"; then
> AC_MSG_ERROR(['perl' binary is required to build libvirt])
>--
>2.17.1
>
>
>--
>libvir-list mailing list
>libvir-list@redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, Sep 17, 2019 at 05:37:24PM +0200, Ján Tomko wrote:
>On Fri, Sep 13, 2019 at 01:37:20AM +0800, Shi Lei wrote:
>>Replace 'sc_prohibit_semicolon_at_eol_in_python' with generic 'sc_flake8' rule
>>to check python code style.
>>
>>Now 'sc_flake8' just check the error E703: 'statement ends with a semicolon'.
>>In future, we could use '--select' to introduce more rules.
>>
>
>Nice, less language parsers using regexes in libvirt!
>
>>Signed-off-by: Shi Lei <shi_lei@massclouds.com>
>>---
>>cfg.mk | 8 +++-----
>>configure.ac | 4 ++++
>>2 files changed, 7 insertions(+), 5 deletions(-)
>>
>>diff --git a/cfg.mk b/cfg.mk
>>index 42e1abf0..8acc45ac 100644
>>--- a/cfg.mk
>>+++ b/cfg.mk
>>@@ -812,11 +812,9 @@ sc_require_enum_last_marker:
>> exit 1; } || :
>>
>># In Python files we don't want to end lines with a semicolon like in C
>>-sc_prohibit_semicolon_at_eol_in_python:
>>- @prohibit='^[^#].*\;$$' \
>>- in_vc_files='\.py$$' \
>>- halt='python does not require to end lines with a semicolon' \
>>- $(_sc_search_regexp)
>>+sc_flake8:
>>+ @$(VC_LIST_EXCEPT) | $(GREP) '\.py$$' | xargs $(FLAKE8) --select E703 \
>
>>+ | $(GREP) . && { exit 1; } || :
>
>I don't think this line is necessary - we can just use the return value
>from flake8
>
also, the libvirt-dbus invocation is using --show-source to be more
helpful
Jano
>>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2026 Red Hat, Inc.