# -*- coding: utf-8 -*- import copy import re from django.db import models from django.db.models.signals import post_save from django.utils import translation from django.utils.html import strip_tags from django.utils.translation import ugettext_lazy as _ from django.conf import settings from django.core.cache import cache from hvad.models import TranslatableModel, TranslatedFields, TranslationManager from pymorphy.django_conf import default_morph as morph from functions.signal_handlers import post_save_handler # additional funcs def get_month_inflect(value, key): MONTHES = {'jan': _(u'январе'), 'feb': _(u'феврале'), 'mar': _(u'марте'), 'apr': _(u'апреле'), 'may': _(u'мае'), 'jun': _(u'июне'), u'jul': _(u'июле'), 'aug': _(u'августе'), 'sep': _(u'сентябре'), 'oct': _(u'октябре'), 'nov': _(u'ноябре'), 'dec': _(u'декабре'),} return {key: MONTHES.get(value, '') } def get_obj_inflect(obj, key): if translation.get_language() == 'ru': result = {key: getattr(obj, 'inflect', '')} else: result = {key: getattr(obj, 'name', '')} return result def get_theme_inflect(obj, key): if translation.get_language() == 'ru': result = {'theme_inflect': getattr(obj, 'inflect', ''), 'theme_name': getattr(obj, 'name', '')} else: result = {'theme_inflect': getattr(obj, 'name', ''), 'theme_name': getattr(obj, 'name', '')} return result def get_tag_inflect(obj, key): if translation.get_language() == 'ru': result = {'tag_inflect': getattr(obj, 'inflect', ''), 'tag_name': getattr(obj, 'name', '')} else: result = {'tag_inflect': getattr(obj, 'name', ''), 'tag_name': getattr(obj, 'name', '')} return result description_sentence_r = re.compile('(?