[Spice-devel] [PATCH spice-common 2/9] codegen: Factor out a function to write output file
Christophe Fergeau
cfergeau at redhat.com
Thu Mar 7 15:16:18 UTC 2019
Acked-by: Christophe Fergeau <cfergeau at redhat.com>
On Sun, Mar 03, 2019 at 07:10:23PM +0000, Frediano Ziglio wrote:
> This will be reused to generate C declaration automatically.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> spice_codegen.py | 46 +++++++++++++++++++++++++---------------------
> 1 file changed, 25 insertions(+), 21 deletions(-)
>
> diff --git a/spice_codegen.py b/spice_codegen.py
> index 76d7c5e..7e22092 100755
> --- a/spice_codegen.py
> +++ b/spice_codegen.py
> @@ -105,6 +105,30 @@ def write_enums(writer, describe=False):
>
> writer.writeln("#endif /* _H_SPICE_ENUMS */")
>
> +def write_content(dest_file, content, keep_identical_file):
> + if keep_identical_file:
> + try:
> + f = open(dest_file, 'rb')
> + old_content = f.read()
> + f.close()
> +
> + if content == old_content:
> + six.print_("No changes to %s" % dest_file)
> + return
> +
> + except IOError:
> + pass
> +
> + f = open(dest_file, 'wb')
> + if six.PY3:
> + f.write(bytes(content, 'UTF-8'))
> + else:
> + f.write(content)
> + f.close()
> +
> + six.print_("Wrote %s" % dest_file)
> +
> +
> parser = OptionParser(usage="usage: %prog [options] <protocol_file> <destination file>")
> parser.add_option("-e", "--generate-enums",
> action="store_true", dest="generate_enums", default=False,
> @@ -290,25 +314,5 @@ if options.header:
> content = writer.header.getvalue()
> else:
> content = writer.getvalue()
> -if options.keep_identical_file:
> - try:
> - f = open(dest_file, 'rb')
> - old_content = f.read()
> - f.close()
> -
> - if content == old_content:
> - six.print_("No changes to %s" % dest_file)
> - sys.exit(0)
> -
> - except IOError:
> - pass
> -
> -f = open(dest_file, 'wb')
> -if six.PY3:
> - f.write(bytes(content, 'UTF-8'))
> -else:
> - f.write(content)
> -f.close()
> -
> -six.print_("Wrote %s" % dest_file)
> +write_content(dest_file, content, options.keep_identical_file)
> sys.exit(0)
> --
> 2.20.1
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20190307/535e13ac/attachment.sig>
More information about the Spice-devel
mailing list