sbsv2/raptor/python/raptor_data.py
changeset 18 de5b887c98f7
parent 13 c327db0664bb
equal deleted inserted replaced
14:eb060913c963 18:de5b887c98f7
   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