Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1436321 > unrolled thread
| Started by | Andrew Donnellan <andrew.donnellan@au1.ibm.com> |
|---|---|
| First post | 2016-07-04 10:50 +0200 |
| Last post | 2016-07-05 10:50 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] checkkconfigsymbols.py: add --no-color option Andrew Donnellan <andrew.donnellan@au1.ibm.com> - 2016-07-04 10:50 +0200
Re: [PATCH] checkkconfigsymbols.py: add --no-color option Valentin Rothberg <valentinrothberg@gmail.com> - 2016-07-04 12:50 +0200
Re: checkkconfigsymbols.py: add --no-color option Josh Triplett <josh@joshtriplett.org> - 2016-07-04 14:30 +0200
Re: checkkconfigsymbols.py: add --no-color option Andrew Donnellan <andrew.donnellan@au1.ibm.com> - 2016-07-05 09:30 +0200
[PATCH v2] checkkconfigsymbols.py: add --no-color option, don't print color to non-TTY Andrew Donnellan <andrew.donnellan@au1.ibm.com> - 2016-07-05 09:50 +0200
Re: [PATCH v2] checkkconfigsymbols.py: add --no-color option, don't print color to non-TTY Valentin Rothberg <valentinrothberg@gmail.com> - 2016-07-05 10:50 +0200
| From | Andrew Donnellan <andrew.donnellan@au1.ibm.com> |
|---|---|
| Date | 2016-07-04 10:50 +0200 |
| Subject | [PATCH] checkkconfigsymbols.py: add --no-color option |
| Message-ID | <rR7JM-3ot-29@gated-at.bofh.it> |
Add a new option, --no-color, to get rid of ANSI colour escape codes in the
output. Useful if redirecting output to a file or piping to another script.
(It should really be --no-colour, but I'll accept US spelling in the name
of consistency with existing usage in the code comments...)
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
---
scripts/checkkconfigsymbols.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/scripts/checkkconfigsymbols.py b/scripts/checkkconfigsymbols.py
index df643f6..a9eba02 100755
--- a/scripts/checkkconfigsymbols.py
+++ b/scripts/checkkconfigsymbols.py
@@ -82,6 +82,10 @@ def parse_options():
default=False,
help="Reset current Git tree even when it's dirty.")
+ parser.add_option('', '--no-color', dest='no_color', action='store_true',
+ default=False,
+ help="Don't print colored output.")
+
(opts, _) = parser.parse_args()
if opts.commit and opts.diff:
@@ -116,6 +120,9 @@ def main():
"""Main function of this module."""
opts = parse_options()
+ global no_color
+ no_color = opts.no_color
+
if opts.sim and not opts.commit and not opts.diff:
sims = find_sims(opts.sim, opts.ignore)
if sims:
@@ -202,14 +209,14 @@ def yel(string):
"""
Color %string yellow.
"""
- return "\033[33m%s\033[0m" % string
+ return string if no_color else "\033[33m%s\033[0m" % string
def red(string):
"""
Color %string red.
"""
- return "\033[31m%s\033[0m" % string
+ return string if no_color else "\033[31m%s\033[0m" % string
def execute(cmd):
--
Andrew Donnellan OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com IBM Australia Limited
[toc] | [next] | [standalone]
| From | Valentin Rothberg <valentinrothberg@gmail.com> |
|---|---|
| Date | 2016-07-04 12:50 +0200 |
| Message-ID | <rR9BT-4wP-1@gated-at.bofh.it> |
| In reply to | #1436321 |
Hi Andrew,
thanks for your patch. Please remove the colour comment from the commit
message and resend the patch. Such comments are better below the '---'.
On Jul 04 '16 18:39, Andrew Donnellan wrote:
> Add a new option, --no-color, to get rid of ANSI colour escape codes in the
> output. Useful if redirecting output to a file or piping to another script.
>
> (It should really be --no-colour, but I'll accept US spelling in the name
> of consistency with existing usage in the code comments...)
>
> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Valentin Rothberg <valentinrothberg@gmail.com>
Thanks,
Valentin
> ---
> scripts/checkkconfigsymbols.py | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/checkkconfigsymbols.py b/scripts/checkkconfigsymbols.py
> index df643f6..a9eba02 100755
> --- a/scripts/checkkconfigsymbols.py
> +++ b/scripts/checkkconfigsymbols.py
> @@ -82,6 +82,10 @@ def parse_options():
> default=False,
> help="Reset current Git tree even when it's dirty.")
>
> + parser.add_option('', '--no-color', dest='no_color', action='store_true',
> + default=False,
> + help="Don't print colored output.")
> +
> (opts, _) = parser.parse_args()
>
> if opts.commit and opts.diff:
> @@ -116,6 +120,9 @@ def main():
> """Main function of this module."""
> opts = parse_options()
>
> + global no_color
> + no_color = opts.no_color
> +
> if opts.sim and not opts.commit and not opts.diff:
> sims = find_sims(opts.sim, opts.ignore)
> if sims:
> @@ -202,14 +209,14 @@ def yel(string):
> """
> Color %string yellow.
> """
> - return "\033[33m%s\033[0m" % string
> + return string if no_color else "\033[33m%s\033[0m" % string
>
>
> def red(string):
> """
> Color %string red.
> """
> - return "\033[31m%s\033[0m" % string
> + return string if no_color else "\033[31m%s\033[0m" % string
>
>
> def execute(cmd):
> --
> Andrew Donnellan OzLabs, ADL Canberra
> andrew.donnellan@au1.ibm.com IBM Australia Limited
>
[toc] | [prev] | [next] | [standalone]
| From | Josh Triplett <josh@joshtriplett.org> |
|---|---|
| Date | 2016-07-04 14:30 +0200 |
| Subject | Re: checkkconfigsymbols.py: add --no-color option |
| Message-ID | <rRbaG-5yi-27@gated-at.bofh.it> |
| In reply to | #1436321 |
On Mon, Jul 04, 2016 at 06:39:30PM +1000, Andrew Donnellan wrote: > Add a new option, --no-color, to get rid of ANSI colour escape codes in the > output. Useful if redirecting output to a file or piping to another script. > > (It should really be --no-colour, but I'll accept US spelling in the name > of consistency with existing usage in the code comments...) > > Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> > Acked-by: Valentin Rothberg <valentinrothberg@gmail.com> Rather than requiring an explicit option, how about detecting whether stdout is a TTY and automatically suppressing color? You could check "os.isatty(1)" in main(), and set a global "color = False". That would automatically handle the cases of redirecting to a file or piping to another script, without requiring the user to pass --no-color. - Josh Triplett
[toc] | [prev] | [next] | [standalone]
| From | Andrew Donnellan <andrew.donnellan@au1.ibm.com> |
|---|---|
| Date | 2016-07-05 09:30 +0200 |
| Subject | Re: checkkconfigsymbols.py: add --no-color option |
| Message-ID | <rRsXU-87j-7@gated-at.bofh.it> |
| In reply to | #1436448 |
On 04/07/16 22:24, Josh Triplett wrote: > Rather than requiring an explicit option, how about detecting > whether stdout is a TTY and automatically suppressing color? > You could check "os.isatty(1)" in main(), and set a global "color = > False". That would automatically handle the cases of redirecting to a > file or piping to another script, without requiring the user to pass > --no-color. That's a good point - I'll submit a v2 with that. -- Andrew Donnellan OzLabs, ADL Canberra andrew.donnellan@au1.ibm.com IBM Australia Limited
[toc] | [prev] | [next] | [standalone]
| From | Andrew Donnellan <andrew.donnellan@au1.ibm.com> |
|---|---|
| Date | 2016-07-05 09:50 +0200 |
| Subject | [PATCH v2] checkkconfigsymbols.py: add --no-color option, don't print color to non-TTY |
| Message-ID | <rRthg-8dT-15@gated-at.bofh.it> |
| In reply to | #1436321 |
Only print the ANSI colour escape codes if stdout is a TTY. Useful if
redirecting output to a file or piping to another script.
Also add a new option, --no-color, if the user wants to disable colour
output for whatever reason.
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
---
V1->V2:
- automatically detect non-TTYs and disable colour output.
Suggested by Josh Triplett
---
scripts/checkkconfigsymbols.py | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/scripts/checkkconfigsymbols.py b/scripts/checkkconfigsymbols.py
index df643f6..b140fc9 100755
--- a/scripts/checkkconfigsymbols.py
+++ b/scripts/checkkconfigsymbols.py
@@ -82,6 +82,11 @@ def parse_options():
default=False,
help="Reset current Git tree even when it's dirty.")
+ parser.add_option('', '--no-color', dest='color', action='store_false',
+ default=True,
+ help="Don't print colored output. Default when not "
+ "outputting to a terminal.")
+
(opts, _) = parser.parse_args()
if opts.commit and opts.diff:
@@ -116,6 +121,9 @@ def main():
"""Main function of this module."""
opts = parse_options()
+ global color
+ color = opts.color and sys.stdout.isatty()
+
if opts.sim and not opts.commit and not opts.diff:
sims = find_sims(opts.sim, opts.ignore)
if sims:
@@ -202,14 +210,14 @@ def yel(string):
"""
Color %string yellow.
"""
- return "\033[33m%s\033[0m" % string
+ return "\033[33m%s\033[0m" % string if color else string
def red(string):
"""
Color %string red.
"""
- return "\033[31m%s\033[0m" % string
+ return "\033[31m%s\033[0m" % string if color else string
def execute(cmd):
--
Andrew Donnellan OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com IBM Australia Limited
[toc] | [prev] | [next] | [standalone]
| From | Valentin Rothberg <valentinrothberg@gmail.com> |
|---|---|
| Date | 2016-07-05 10:50 +0200 |
| Subject | Re: [PATCH v2] checkkconfigsymbols.py: add --no-color option, don't print color to non-TTY |
| Message-ID | <rRudj-qd-13@gated-at.bofh.it> |
| In reply to | #1436823 |
Hi Andrew,
I am fine with this version of the patch, thanks. Usually patches to
this script go through Greg's misc tree.
Best regards,
Valentin
On Tue, Jul 5, 2016 at 9:47 AM, Andrew Donnellan
<andrew.donnellan@au1.ibm.com> wrote:
> Only print the ANSI colour escape codes if stdout is a TTY. Useful if
> redirecting output to a file or piping to another script.
>
> Also add a new option, --no-color, if the user wants to disable colour
> output for whatever reason.
>
> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
>
> ---
>
> V1->V2:
> - automatically detect non-TTYs and disable colour output.
> Suggested by Josh Triplett
> ---
> scripts/checkkconfigsymbols.py | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/checkkconfigsymbols.py b/scripts/checkkconfigsymbols.py
> index df643f6..b140fc9 100755
> --- a/scripts/checkkconfigsymbols.py
> +++ b/scripts/checkkconfigsymbols.py
> @@ -82,6 +82,11 @@ def parse_options():
> default=False,
> help="Reset current Git tree even when it's dirty.")
>
> + parser.add_option('', '--no-color', dest='color', action='store_false',
> + default=True,
> + help="Don't print colored output. Default when not "
> + "outputting to a terminal.")
> +
> (opts, _) = parser.parse_args()
>
> if opts.commit and opts.diff:
> @@ -116,6 +121,9 @@ def main():
> """Main function of this module."""
> opts = parse_options()
>
> + global color
> + color = opts.color and sys.stdout.isatty()
> +
> if opts.sim and not opts.commit and not opts.diff:
> sims = find_sims(opts.sim, opts.ignore)
> if sims:
> @@ -202,14 +210,14 @@ def yel(string):
> """
> Color %string yellow.
> """
> - return "\033[33m%s\033[0m" % string
> + return "\033[33m%s\033[0m" % string if color else string
>
>
> def red(string):
> """
> Color %string red.
> """
> - return "\033[31m%s\033[0m" % string
> + return "\033[31m%s\033[0m" % string if color else string
>
>
> def execute(cmd):
> --
> Andrew Donnellan OzLabs, ADL Canberra
> andrew.donnellan@au1.ibm.com IBM Australia Limited
>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web