Example #1
0
 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)
Example #2
0
    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)
Example #3
0
 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': '#'}]
Example #4
0
 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
Example #5
0
 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
Example #6
0
 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
Example #7
0
    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
Example #8
0
    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
Example #9
0
 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
Example #10
0
 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
Example #11
0
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
Example #12
0
 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
Example #13
0
 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)
Example #14
0
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])
Example #15
0
 def getFaqs(cls, lang):
     return kes(lang,'faqs').g({}) or cls._updateCache(lang)
Example #16
0
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])
Example #17
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))
Example #18
0
 def al_baslik(self, dilkodu):
     k = kes('dsayfabaslik', dilkodu, self.id)
     return k.g() or k.s(self.al_icerik(dilkodu).al_menu_baslik())
Example #19
0
 def getFaqs(cls, lang):
     return kes(lang, 'faqs').g({}) or cls._updateCache(lang)