def save(self, *args, **kwargs): self.asil = slugify(self.kelime.kelime) # self.kod = self.dil.kodu super(Ceviriler, self).save(*args, **kwargs) ceviri_sayisi = self.kelime.ceviriler_set.exclude(ceviri='').count() durum = 0 if ceviri_sayisi: durum = 2 if ceviri_sayisi == len(LOCALES) else 1 if self.kelime.durum != durum: self.kelime.durum = durum self.kelime.save() kes(self.KES_PREFIX, self.asil, self.kod).s(self.ceviri)
def kategoriler(self, dilkodu): ks = kes('haberler', dilkodu, self.id) haberler = ks.g([]) if not haberler: for s in Haber.objects.filter(etkin=True, dil_kodu=dilkodu)[:10]: haberler.append({'baslik': s.baslik, 'url': s.get_absolute_url(dilkodu), 'etkin': s.id == self.id}) ks.s(haberler) return [{'ogeler': haberler, 'baslik': __('News'), 'url': '#'}]
def al_menu(cls, dilkodu): ks = kes('anamenu', dilkodu) menu = ks.g([]) if not menu: ana = cls.al_anasayfa() if ana: for k in ana.get_children().filter(menude=True).order_by('order'): menu.append({'id': k.id, 'baslik': k.al_baslik(dilkodu), 'url': k.al_url(dilkodu), }) ks.s(menu) return menu
def yansayfalar(self, dilkodu): ks = kes('yansayfa', dilkodu, self.id) menu = ks.g([]) if not menu: for k in self.get_siblings(include_self=True).order_by('order'): ogeler = [] for s in k.get_children(): ogeler.append({'baslik': s.al_baslik(dilkodu), 'url': s.al_url(dilkodu), 'etkin': s.id == self.id}) menu.append({'baslik': k.al_baslik(dilkodu), 'url': k.al_url(dilkodu), 'etkin': k.id == self.id, 'ogeler': ogeler}) ks.s(menu) return menu
def kategoriler(self, dilkodu): ks = kes('kategoriler', dilkodu, self.id) menu = ks.g([]) if not menu: kat = self if self.get_descendant_count() else self.parent for k in kat.get_siblings(include_self=True) if kat else []: ogeler = [] for s in k.get_children(): ogeler.append({'baslik': s.al_baslik(dilkodu), 'url': s.al_url(dilkodu), 'etkin': s.id == self.id}) menu.append({'baslik': k.al_baslik(dilkodu), 'url': k.al_url(dilkodu), 'etkin': k.id == self.id, 'ogeler': ogeler}) ks.s(menu) return menu
def _updateCache(cls, lang=None): for code, name in settings.LANGUAGES: mi = defaultdict(list) cat_name_list = CategoryTranslation.objects.filter( lang=code).order_by('category__order').values_list( 'category_id', 'text', 'category__order') cat_names = dict([a[:2] for a in cat_name_list]) cat_order = dict([a[1:] for a in cat_name_list]) for mc in MainCategory.objects.filter(active=True): di = defaultdict(list) for a in Answer.objects.select_related().order_by( 'question__order').filter( lang=code, active=True, question__category__main_category=mc): di[cat_names.get(a.question.category_id, '---')].append({ 'answer': mark_safe(a.text), 'qid': a.question_id, 'question': a.question.getTrans(code) }) # log.info('preorder: %s'%di.keys()) # log.info(cat_order) di = sorted(di.items(), key=lambda x: cat_order.get(x[0])) # log.info('postorder: %s'%di) # di = di.items() main_cat_name = mc.maincategorytranslation_set.filter( lang=code).values_list('text', flat=True) mi[main_cat_name[0] if main_cat_name else '---'] = di mi = mi.items() kes(code, 'faqs').s(mi, 100) #FIXME: set this to a biger value if lang == code: lang = mi return lang
def _updateCache(cls, lang=None): for code,name in settings.LANGUAGES: mi = defaultdict(list) cat_name_list = CategoryTranslation.objects.filter(lang=code).order_by('category__order').values_list('category_id','text','category__order') cat_names = dict([a[:2] for a in cat_name_list]) cat_order = dict([a[1:] for a in cat_name_list]) for mc in MainCategory.objects.filter(active=True): di = defaultdict(list) for a in Answer.objects.select_related().order_by('question__order').filter(lang=code, active=True, question__category__main_category=mc): di[cat_names.get(a.question.category_id,'---')].append({ 'answer':mark_safe(a.text), 'qid':a.question_id, 'question':a.question.getTrans(code)}) # log.info('preorder: %s'%di.keys()) # log.info(cat_order) di = sorted(di.items(),key=lambda x: cat_order.get(x[0])) # log.info('postorder: %s'%di) # di = di.items() main_cat_name = mc.maincategorytranslation_set.filter(lang=code).values_list('text',flat=True) mi[main_cat_name[0] if main_cat_name else '---' ] = di mi = mi.items() kes(code,'faqs').s(mi,100)#FIXME: set this to a biger value if lang == code: lang = mi return lang
def cevir(cls, kelime): dil_kodu = translation.get_language() try: skelime = slugify(kelime) k = kes(cls.KES_PREFIX, skelime[:40], dil_kodu) c = k.g() if c: return c c = cls.objects.filter(asil=skelime, kod=dil_kodu).exclude(ceviri='').values_list('ceviri',flat=True) if c: return k.s(c[0]) # c = cls.objects.filter(asil=skelime).exclude(ceviri='').values_list('ceviri',flat=True) # if c: return k.s(c[0]) Kelime.objects.get_or_create(kelime=skelime) return k.s(kelime) except: log.exception('cevir taginda patlama') return kelime
def cevir(cls, kelime): dil_kodu = translation.get_language() try: skelime = slugify(kelime) k = kes(cls.KES_PREFIX, skelime[:40], dil_kodu) c = k.g() if c: return c c = cls.objects.filter( asil=skelime, kod=dil_kodu).exclude(ceviri='').values_list('ceviri', flat=True) if c: return k.s(c[0]) # c = cls.objects.filter(asil=skelime).exclude(ceviri='').values_list('ceviri',flat=True) # if c: return k.s(c[0]) Kelime.objects.get_or_create(kelime=skelime) return k.s(kelime) except: log.exception('cevir taginda patlama') return kelime
def __(word): """ db and memcache based translation/content block system that mimics gettext. """ lang_code = translation.get_language() lang_code = 'tr' try: skelime = slugify(word) k = kes(BlockTranslation.KES_PREFIX, skelime[:40], lang_code) c = k.get() if c: return c c = BlockTranslation.objects.filter(keyword=skelime, lang=lang_code).exclude(translation='').values_list( 'translation', flat=True) if c: return k.set(c[0]) Block.objects.get_or_create(keyword=skelime) return k.set(word) except: raise log.exception('cevir taginda patlama') return word
def baslik(self): k = kes('sayfabaslik', self.id) try: return k.g() or k.s(self.icerik_set.all()[0].baslik[:20]) except: return self.id
def save(self, *args, **kwargs): self.keyword = slugify(self.block.keyword) if self.block.type in [2, 3]: self.translation = strip_tags(self.translation) super(BlockTranslation, self).save(*args, **kwargs) kes(self.KES_PREFIX, self.keyword, self.lang).set(self.translation)
def get_tl_currency_code(): tkod = kes('tl_para_kod') return tkod.g() or tkod.s(Currency.objects.filter(name='TRY', active=True).values_list('id',flat=True)[0])
def getFaqs(cls, lang): return kes(lang,'faqs').g({}) or cls._updateCache(lang)
def get_tl_currency_code(): tkod = kes('tl_para_kod') return tkod.g() or tkod.s( Currency.objects.filter(name='TRY', active=True).values_list( 'id', flat=True)[0])
def al_url(self, dilkodu): k = kes('sayfaurl', dilkodu, self.id) return k.g() or k.s(self.al_icerik(dilkodu).get_absolute_url(dilkodu))
def al_baslik(self, dilkodu): k = kes('dsayfabaslik', dilkodu, self.id) return k.g() or k.s(self.al_icerik(dilkodu).al_menu_baslik())
def getFaqs(cls, lang): return kes(lang, 'faqs').g({}) or cls._updateCache(lang)