summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2015-07-22 12:48:55 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2015-07-23 10:29:10 +0200
commitf4c729aad399e87140a18518a3a6268afd956782 (patch)
treee0f26c17eac45f6d4193272d31fcb80563c23cb6
parent5720971c457d866e083fac3aa08f3986a8816ac1 (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-xspice_codegen.py4
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: