diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2015-07-22 12:48:55 +0200 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2015-07-23 10:29:10 +0200 |
commit | 9625b45edb548e0e4f88d3cfc3b79f30315c8735 (patch) | |
tree | e9f5b27db95a330700b8fec4ecbff63807cdbfa0 | |
parent | 5adcb1c340ce7427991714b0b03f49bb81f502e1 (diff) |
codegen: Fix enums.h generation with python3
Trying to generate enums.h with python3 results in
Traceback (most recent call last):
File "./spice_codegen.py", line 217, in <module>
write_enums(writer, options.generate_dissector)
File "./spice_codegen.py", line 99, in write_enums
write_channel_enums(writer, c, False, False)
File "./spice_codegen.py", line 17, in write_channel_enums
if len(messages) == 0:
TypeError: object of type 'filter' has no len()
filter() returns an enumerator object in python3 while it used to return
a list in python2. Using list(filter()) instead fixes that error.
I've checked that the generated enums.h is identical with python2 and
python3.
-rwxr-xr-x | spice_codegen.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/spice_codegen.py b/spice_codegen.py index 84790af..569cccc 100755 --- a/spice_codegen.py +++ b/spice_codegen.py @@ -12,8 +12,8 @@ from python_modules import marshal import six def write_channel_enums(writer, channel, client, describe): - messages = filter(lambda m : m.channel == channel, \ - channel.client_messages if client else channel.server_messages) + messages = list(filter(lambda m : m.channel == channel, \ + channel.client_messages if client else channel.server_messages)) if len(messages) == 0: return if client: |