diff options
author | Alexander Larsson <alexl@redhat.com> | 2010-06-30 16:49:50 +0200 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-03-20 15:25:46 +0100 |
commit | 6d38c4817f751f5f47dd1d22ba8319675bb57295 (patch) | |
tree | 5d628a898b6367bef705e89eb9f7f6f83069dfe9 /python_modules/ptypes.py | |
parent | 68e29d0d1929366d267e25581fa920f3d30cc0a8 (diff) | |
download | spice-protocol-6d38c4817f751f5f47dd1d22ba8319675bb57295.tar.gz spice-protocol-6d38c4817f751f5f47dd1d22ba8319675bb57295.tar.xz spice-protocol-6d38c4817f751f5f47dd1d22ba8319675bb57295.zip |
Simplify SpiceLineAttr by removing unsed stuff
Also in new protocol don't send style data if not needed.
Diffstat (limited to 'python_modules/ptypes.py')
-rw-r--r-- | python_modules/ptypes.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/python_modules/ptypes.py b/python_modules/ptypes.py index bef5432..b7bcac9 100644 --- a/python_modules/ptypes.py +++ b/python_modules/ptypes.py @@ -610,6 +610,12 @@ class Switch(Containee): def is_switch(self): return True + def lookup_case_member(self, name): + for c in self.cases: + if c.member.name == name: + return c.member + return None + def has_switch_member(self, member): for c in self.cases: if c.member == member: @@ -767,7 +773,14 @@ class ContainerType(Type): return str(fixed) def lookup_member(self, name): - return self.members_by_name[name] + if self.members_by_name.has_key(name): + return self.members_by_name[name] + for m in self.members: + if m.is_switch(): + member = m.lookup_case_member(name) + if member: + return member + raise Exception, "No member called %s found" % name class StructType(ContainerType): def __init__(self, name, members, attribute_list): |