[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 5/6] scripts/modules/module_block: Use Python 3 interprete
From: |
John Snow |
Subject: |
Re: [PATCH v4 5/6] scripts/modules/module_block: Use Python 3 interpreter & add pseudo-main |
Date: |
Wed, 13 May 2020 17:04:59 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 5/12/20 6:32 AM, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> scripts/modules/module_block.py | 31 ++++++++++++++++---------------
> 1 file changed, 16 insertions(+), 15 deletions(-)
>
> diff --git a/scripts/modules/module_block.py b/scripts/modules/module_block.py
> index f23191fac1..2e7021b952 100644
> --- a/scripts/modules/module_block.py
> +++ b/scripts/modules/module_block.py
> @@ -1,4 +1,4 @@
> -#!/usr/bin/python
> +#!/usr/bin/env python3
> #
> # Module information generator
> #
> @@ -10,7 +10,6 @@
> # This work is licensed under the terms of the GNU GPL, version 2.
> # See the COPYING file in the top-level directory.
>
> -import sys
> import os
>
> def get_string_struct(line):
> @@ -80,19 +79,21 @@ def print_bottom(fheader):
> #endif
> ''')
>
> -# First argument: output file
> -# All other arguments: modules source files (.c)
> -output_file = sys.argv[1]
> -with open(output_file, 'w') as fheader:
> - print_top(fheader)
> +if __name__ == '__main__':
> + import sys
You can keep the imports at the top of the file.
If you want to split apart the code such that the core import doesn't
import it, you can create a "core module" containing the classes and
routines, and a separate script entrypoint, which imports arg parsers,
sys.argv, etc.
For this, for now, it's okay to just leave it at the top of the file.
> + # First argument: output file
> + # All other arguments: modules source files (.c)
> + output_file = sys.argv[1]
> + with open(output_file, 'w') as fheader:
> + print_top(fheader)
>
> - for filename in sys.argv[2:]:
> - if os.path.isfile(filename):
> - process_file(fheader, filename)
> - else:
> - print("File " + filename + " does not exist.", file=sys.stderr)
> - sys.exit(1)
> + for filename in sys.argv[2:]:
> + if os.path.isfile(filename):
> + process_file(fheader, filename)
> + else:
> + print("File " + filename + " does not exist.",
> file=sys.stderr)
> + sys.exit(1)
>
> - print_bottom(fheader)
> + print_bottom(fheader)
>
> -sys.exit(0)
> + sys.exit(0)
>
But, well. It's nitpicky and I'm not sure it matters just yet. It might,
as we start to expand pylint to more places, but we're not being
rigorous about that just yet. So either way, I know this works:
Reviewed-by: John Snow <address@hidden>
- [PATCH v4 1/6] scripts/qemugdb: Remove shebang header, (continued)
- [PATCH v4 1/6] scripts/qemugdb: Remove shebang header, Philippe Mathieu-Daudé, 2020/05/12
- [PATCH v4 2/6] scripts/qemu-gdb: Use Python 3 interpreter, Philippe Mathieu-Daudé, 2020/05/12
- [PATCH v4 3/6] scripts/qmp: Use Python 3 interpreter, Philippe Mathieu-Daudé, 2020/05/12
- [PATCH v4 4/6] scripts/kvm/vmxcap: Use Python 3 interpreter and add pseudo-main(), Philippe Mathieu-Daudé, 2020/05/12
- [PATCH v4 5/6] scripts/modules/module_block: Use Python 3 interpreter & add pseudo-main, Philippe Mathieu-Daudé, 2020/05/12
- Re: [PATCH v4 5/6] scripts/modules/module_block: Use Python 3 interpreter & add pseudo-main,
John Snow <=
- [PATCH v4 6/6] tests/migration/guestperf: Use Python 3 interpreter, Philippe Mathieu-Daudé, 2020/05/12
- Re: [PATCH v4 0/6] scripts: More Python fixes, Kevin Wolf, 2020/05/12
- Re: [PATCH v4 0/6] scripts: More Python fixes, Philippe Mathieu-Daudé, 2020/05/29