Пример #1
0
	def _fill_doc(self, root, result):
		super(ResultSerializer, self)._fill_doc(root, result)
		SubElement(root, "log").text = result.log_url
				
		resultelem = SubElement(root, "result")
		idmapping = SubElement(resultelem, "idmapping")
		for designid, runtimeid in result.idmapping.iteritems():
			mapping = SubElement(idmapping, "mapping")
			mapping.set("designid", tostr(designid))
			mapping.set("runtimeid", tostr(runtimeid))
Пример #2
0
	def __append_entity(self, parent, name, entity, parent_type):
		if (parent_type, name) in self.__alternate_style_fields:
			name += ".id"

		outer = SubElement(parent, name)
		if name not in ("cost", "configurationParameters"):
			inner = SubElement(outer, self.__get_tagname(entity))
			assert(entity.is_persistent)
			inner.text = str(entity.id)
		else:
			outer.text = str(entity.id)
Пример #3
0
	def serialize(self, e, pretty_print = True):
		assert isinstance(e, Entity)
		
		name = self.__get_tagname(e) + "Instance"
		
		parent = Element(name)
		
		for k, v in e._get_fields().iteritems():
			if not v and v not in (0, False):
				SubElement(parent, k)
			elif isinstance(v, (tuple, set, list, frozenset)):
				for v2 in v:
					assert isinstance(v2, Entity)
					self.__append_entity(parent, k, v2, e.__class__)
			else:
				if isinstance(v, Entity):
					self.__append_entity(parent, k, v, e.__class__)
				else:
					child = SubElement(parent, k)
					child.text = unicode(v)			
			
		return tostring(parent, pretty_print = pretty_print)