def get_propertie(name_key, lang=LANG_CODE_DEFAULT): if lang not in CMS_LANGUAGES.keys(): lang = LANG_CODE_DEFAULT result = "[%s.%s]" % (name_key, lang) if lang in CMS_LANGUAGES.keys(): properties = PropertieModel().all() properties.filter("name", name_key) if properties.count() > 0: result = getattr(properties[0], "value_" + lang) return result
def request_to_model(model, request, prefix): if not model: return None for properie in model.properties(): db_type = model.properties()[properie] request_propertrie = prefix + "." + properie request_value = request.get(request_propertrie) if not request_value and "_" in properie: name = properie[:-3] lang = properie[-2:] if lang != LANG_CODE_DEFAULT and lang in CMS_LANGUAGES.keys(): """translate""" origin = request.get(prefix + "." + name + "_" + LANG_CODE_DEFAULT) request_value = get_translated(origin, LANG_CODE_DEFAULT, lang) if type(db_type) == db.IntegerProperty: if not request_value: request_value = 0; setattr(model, properie, int(request_value)) elif type(db_type) == db.BooleanProperty: if not request_value: request_value = False; setattr(model, properie, bool(request_value)) elif type(db_type) == db.DateTimeProperty: setattr(model, properie, datetime.datetime.utcnow()) elif type(db_type) == db.BlobProperty: if request_value: setattr(model, properie, db.Blob(request_value)) elif type(db_type) == db.ReferenceProperty: pass else: if hasattr(model, properie): setattr(model, properie, request_value) return model
def get_attr(object, param, lang=LANG_CODE_DEFAULT): if lang not in CMS_LANGUAGES.keys(): lang = LANG_CODE_DEFAULT if not object: return "" if hasattr(object, param + lang): return getattr(object, param + lang) else: return "[%s]" % param + lang
def lang_name(lang_code): if lang_code and CMS_LANGUAGES.has_key(lang_code): return CMS_LANGUAGES[lang_code] else: return CMS_LANGUAGES[LANG_CODE_RU]