示例#1
0
文件: utils.py 项目: gogogo/gogogo-hk
def trEntity(entity,request):
	"""
	Translate an entity 
	"""
	if entity == None:
		return None
	ret = {}
	ret.update(entity)
	
	lang = MLStringProperty.get_current_lang(request)
	
	for prop in entity['instance'].properties().values():
		datastore_value = prop.get_value_for_datastore(entity['instance'])
		if not datastore_value == []:
			ret[prop.name] = datastore_value
			
			if request and isinstance(prop,MLStringProperty):
				
				ret[prop.name] = MLStringProperty.trans(datastore_value,lang)

	return ret
示例#2
0
def create_entity(model,request = None):
	""" Create entity (a dict object) from model with: MLString translated. (based on Models._to_entity(self, entity) )

    Deprecated function. Please use createEntity.
	"""
	entity = {}
	code_index = -1
	
	for prop in model.properties().values():
		datastore_value = prop.get_value_for_datastore(model)
		if not datastore_value == []:
			entity[prop.name] = datastore_value
			
			if request and isinstance(prop,MLStringProperty):
				if code_index < 0 and request != None:
					for (i,lang) in enumerate(settings.LANGUAGES):
						if lang[0] == request.LANGUAGE_CODE:
							code_index = i
							break
				
				entity[prop.name] = MLStringProperty.trans(datastore_value,code_index)
				#entity[prop.name] = datastore_value[0]

	return entity