<commit_before># coding=utf-8
from datetime import datetime, timedelta
from django_cron import CronJobBase, Schedule
from base.models import Event


def event_setter(event_src, event_descr, event_imp):
    """
    Функция записи новых сообщений в БД (таблица base_event).
    В БД записываются только уникальные (сравнение event_descr) в пределах семи дней сообщения.

    :param event_src: источник события
    :param event_descr: описание события (сообщение)
    :param event_imp: важность (от 0 до 4)
    """

    events = Event.objects.filter(event_datetime__gte=datetime.now() - timedelta(days=7))

    if event_descr not in events.values_list('event_descr', flat=True):
        Event.objects.create(event_src=event_src, event_descr=event_descr, event_imp=event_imp)


class CJB(CronJobBase):
    """
    Промежуточный CronJobBase класс (см. https://github.com/Tivix/django-cro),
    наследуемый классами в cron.py.
    """

    RUN_EVERY_MINS = 0
    RUN_AT_TIMES = []

    if RUN_EVERY_MINS:
        schedule = Schedule(
            retry_after_failure_mins=5,
            run_at_times=RUN_EVERY_MINS
        )
    elif RUN_AT_TIMES:
        schedule = Schedule(
            retry_after_failure_mins=5,
            run_every_mins=RUN_AT_TIMES
        )
    else:
        schedule = Schedule(
            retry_after_failure_mins=5,
            run_every_mins=15
        )

    def __init__(self):
        self.code = type(self).__name__
<commit_msg>events: Исправлен base\utils.py согласно предыдущему коммиту'<commit_after># coding=utf-8
from datetime import datetime, timedelta
from django_cron import CronJobBase, Schedule
from base.models import Event


def event_setter(event_src, event_descr, event_imp):
    """
    Функция записи новых сообщений в БД (таблица base_event).
    В БД записываются только уникальные (сравнение event_descr) в пределах семи дней сообщения.

    :param event_src: источник события
    :param event_descr: описание события (сообщение)
    :param event_imp: важность (от 0 до 4)
    """

    if event_imp == 4:
        td = timedelta(hours=1)
    elif event_imp ==3:
        td = timedelta(hours=3)
    else:
        td = timedelta(days=1)

    events = Event.objects.filter(event_datetime__gte=datetime.now() - td)

    if event_descr not in events.values_list('event_descr', flat=True):
        Event.objects.create(event_src=event_src, event_descr=event_descr, event_imp=event_imp)


class CJB(CronJobBase):
    """
    Промежуточный CronJobBase класс (см. https://github.com/Tivix/django-cro),
    наследуемый классами в cron.py.
    """

    RUN_EVERY_MINS = 0
    RUN_AT_TIMES = []

    if RUN_EVERY_MINS:
        schedule = Schedule(
            retry_after_failure_mins=5,
            run_at_times=RUN_EVERY_MINS
        )
    elif RUN_AT_TIMES:
        schedule = Schedule(
            retry_after_failure_mins=5,
            run_every_mins=RUN_AT_TIMES
        )
    else:
        schedule = Schedule(
            retry_after_failure_mins=5,
            run_every_mins=15
        )

    def __init__(self):
        self.code = type(self).__name__

{'fraction_non_alphanumeric': 0.08179831408054948, 'fraction_numerical': 0.007492975335622854, 'mean_word_length': 2.587905935050392, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7207270', 'n_tokens_mistral': 1188, 'n_tokens_neox': 1146, 'n_words': 224}