John Snow <js...@redhat.com> writes: > On 10/9/20 1:26 PM, Markus Armbruster wrote: >> John Snow <js...@redhat.com> writes: >> >>> This is a minor re-work of the entrypoint script. It isolates a >> <pedantic>entrypoint is not a word</> ;-P >> > > I'm not entirely sure why a German is complaining about the birth of a > new and beautiful compound noun.
Ha! > (I started to make sure I wrote it out as two words, but missed a > spot. Too late now, unless you fixed it already.) I didn't. >>> generate() method from the actual command-line mechanism. >>> >>> Signed-off-by: John Snow <js...@redhat.com> >>> Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> >>> Reviewed-by: Cleber Rosa <cr...@redhat.com> >>> Tested-by: Cleber Rosa <cr...@redhat.com> >>> --- >>> scripts/qapi-gen.py | 89 ++++++++++++++++++++++++++++++++++----------- >>> 1 file changed, 67 insertions(+), 22 deletions(-) >>> >>> diff --git a/scripts/qapi-gen.py b/scripts/qapi-gen.py >>> index 541e8c1f55d..054554ed846 100644 >>> --- a/scripts/qapi-gen.py >>> +++ b/scripts/qapi-gen.py >>> @@ -1,30 +1,77 @@ >>> #!/usr/bin/env python3 >>> -# QAPI generator >>> -# >>> + >>> # This work is licensed under the terms of the GNU GPL, version 2 or >>> later. >>> # See the COPYING file in the top-level directory. >>> +""" >>> +QAPI Generator >>> + >>> +This is the main entry point for generating C code from the QAPI schema. >>> +""" >>> import argparse >>> import re >>> import sys >>> +from typing import Optional >>> from qapi.commands import gen_commands >>> +from qapi.error import QAPIError >>> from qapi.events import gen_events >>> from qapi.introspect import gen_introspect >>> -from qapi.schema import QAPIError, QAPISchema >>> +from qapi.schema import QAPISchema >>> from qapi.types import gen_types >>> from qapi.visit import gen_visit >>> >>> -def main(argv): >>> +def invalid_char(prefix: str) -> Optional[str]: >> >> Naming is hard... invalid_char() makes sense because it returns the >> invalid character. The name's a tad generic, though. Would >> first_invalid_prefix_char() be easier to understand? > > Sounds like an improvement to me. I guess that should be in a follow-up now. I took the liberty to rename it to invalid_prefix_char() in my tree. Has since been merged into master as commit 52a474180ae. >>> + match = re.match(r'([A-Za-z_.-][A-Za-z0-9_.-]*)?', prefix) >>> + if match.end() != len(prefix): >>> + return prefix[match.end()] >>> + return None >> [...] >>