equal
deleted
inserted
replaced
827 raise NotImplementedError() |
827 raise NotImplementedError() |
828 |
828 |
829 |
829 |
830 class Variant(Model, Config): |
830 class Variant(Model, Config): |
831 |
831 |
832 __slots__ = ('cache','name','host','extends','ops','variantRefs','allOperations') |
832 __slots__ = ('cache','name','type','host','extends','ops','variantRefs','allOperations') |
833 |
833 |
834 def __init__(self, name = ""): |
834 def __init__(self, name = ""): |
835 Model.__init__(self) |
835 Model.__init__(self) |
836 Config.__init__(self) |
836 Config.__init__(self) |
837 self.name = name |
837 self.name = name |
|
838 self.type = "" |
838 |
839 |
839 # Operations defined inside this variant. |
840 # Operations defined inside this variant. |
840 self.ops = [] |
841 self.ops = [] |
841 |
842 |
842 # The name of our parent variant, if any. |
843 # The name of our parent variant, if any. |
853 elif name == "host": |
854 elif name == "host": |
854 if HostPlatform.IsKnown(value): |
855 if HostPlatform.IsKnown(value): |
855 self.host = value |
856 self.host = value |
856 elif name == "extends": |
857 elif name == "extends": |
857 self.extends = value |
858 self.extends = value |
|
859 elif name == "type": |
|
860 self.type = value |
858 else: |
861 else: |
859 raise InvalidPropertyError() |
862 raise InvalidPropertyError() |
860 |
863 |
861 def AddChild(self, child): |
864 def AddChild(self, child): |
862 if isinstance(child, Operation): |
865 if isinstance(child, Operation): |
946 def __init__(self, name=""): |
949 def __init__(self, name=""): |
947 Model.__init__(self) |
950 Model.__init__(self) |
948 Config.__init__(self) |
951 Config.__init__(self) |
949 self.name = name |
952 self.name = name |
950 self.meaning = "" |
953 self.meaning = "" |
|
954 self.type = "" |
951 self.varRefs = [] |
955 self.varRefs = [] |
952 self.variants = [] |
956 self.variants = [] |
953 |
957 |
954 def __str__(self): |
958 def __str__(self): |
955 return "<alias name='%s' meaning='%s'/>" % (self.name, self.meaning) |
959 return "<alias name='%s' meaning='%s'/>" % (self.name, self.meaning) |
960 elif key == "meaning": |
964 elif key == "meaning": |
961 self.meaning = val |
965 self.meaning = val |
962 |
966 |
963 for u in val.split("."): |
967 for u in val.split("."): |
964 self.varRefs.append( VariantRef(ref = u) ) |
968 self.varRefs.append( VariantRef(ref = u) ) |
|
969 elif key == "type": |
|
970 self.type = val |
965 else: |
971 else: |
966 raise InvalidPropertyError() |
972 raise InvalidPropertyError() |
967 |
973 |
968 def Valid(self): |
974 def Valid(self): |
969 return self.name and self.meaning |
975 return self.name and self.meaning |