analyze-migration.py: fix extract contents ('-x') errors

When we try to use 'analyze-migration.py -x' with python3,
we have the following errors:

  Traceback (most recent call last):
    File "scripts/analyze-migration.py", line 593, in <module>
      f.write(jsonenc.encode(dump.vmsd_desc))
  TypeError: a bytes-like object is required, not 'str'

  Traceback (most recent call last):
    File "scripts/analyze-migration.py", line 601, in <module>
      f.write(jsonenc.encode(dict))
  TypeError: a bytes-like object is required, not 'str'

This happens because the file 'f' is open in binary mode while
jsonenc.encode() returns a string.

The results are human-readable files, 'desc.json' and 'state.json',
so there is no reason to use the binary mode.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20211015131645.501281-3-lvivier@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Laurent Vivier 2021-10-15 15:16:45 +02:00 committed by Laurent Vivier
parent f98d372aef
commit 2c92be50bc

View File

@ -588,7 +588,7 @@ if args.extract:
dump.read(desc_only = True)
print("desc.json")
f = open("desc.json", "wb")
f = open("desc.json", "w")
f.truncate()
f.write(jsonenc.encode(dump.vmsd_desc))
f.close()
@ -596,7 +596,7 @@ if args.extract:
dump.read(write_memory = True)
dict = dump.getDict()
print("state.json")
f = open("state.json", "wb")
f = open("state.json", "w")
f.truncate()
f.write(jsonenc.encode(dict))
f.close()