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
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