summaryrefslogtreecommitdiffstats
path: root/python_modules/ptypes.py
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2010-06-30 16:49:50 +0200
committerMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-20 15:25:46 +0100
commit6d38c4817f751f5f47dd1d22ba8319675bb57295 (patch)
tree5d628a898b6367bef705e89eb9f7f6f83069dfe9 /python_modules/ptypes.py
parent68e29d0d1929366d267e25581fa920f3d30cc0a8 (diff)
downloadspice-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.py15
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):