示例#1
0
文件: xser.py 项目: akn/pi
	def to_xml(self, parameters):
		f, t, a, si, sc= get_serializer_parameters_for(parameters, 'list')
		if f(self, parameters):
			models_xml=[Model_Serializer(model).to_xml(parameters) for model in self.l]
			models_xml= filter(lambda a: a!=None, models_xml)
			return AwesomeXml( t(self, parameters), a(self, parameters) ).appendChild(models_xml) if si(self, parameters) else models_xml
		return None
示例#2
0
文件: xser.py 项目: akn/pi
	def to_xml(self, parameters):
		f, t, a, si,sc= get_serializer_parameters_for(parameters, 'atribute')
		if f(self, parameters):
			if self.is_true_atribute():
				if self.atr_obj or parameters['show_empty_atributes']:
					return AwesomeXml( t(self, parameters), a(self, parameters), self.atr_obj )
			else:
				#model list or a model object
				if hasattr(self.atr_obj, '__iter__'):
					return ModelList_xml(self.atr_obj).to_xml(parameters)
				else:
					if self.atr_obj is not None:
						#model object
						return Model_Serializer(self.atr_obj).to_xml(parameters)
		return None
示例#3
0
文件: xser.py 项目: akn/pi
	def to_xml(self, parameters):
		f, t, a, si, sc= get_serializer_parameters_for(parameters, 'model')
		if f(self, parameters):
			xml= AwesomeXml( t(self, parameters), a(self, parameters) )
			if sc(self, parameters):
				shallowness= parameters.get('serialization_type')
				if shallowness==SER_TYPE_SHALLOW_CHILDREN:
					#temporarily set shallowness for serialization of children
					parameters['serialization_type']=SER_TYPE_SHALLOW
				atrs_xml=[atr.to_xml(parameters) for atr in self.atributes]
				atrs_xml= filter(lambda a:a!=None, atrs_xml)
				#restore shallowness
				parameters['serialization_type']=shallowness
			else:
				atrs_xml=[]
			return xml.appendChild(atrs_xml) if si(self, parameters) else atrs_xml
		return None