You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.0 KiB
79 lines
3.0 KiB
# coding=utf-8
|
|
from datetime import timedelta, datetime
|
|
|
|
from celery.task import periodic_task
|
|
from django.core.files import File
|
|
from management.letters import sent_new_expired
|
|
|
|
from access.models import User
|
|
from journals.models import ExamTry, HomeworkTry, DiplomaJ
|
|
from settings.settings import TEACHER
|
|
|
|
|
|
# @periodic_task(run_every=timedelta(hours=1))
|
|
# def check_expired():
|
|
# # Проверка просроченых задач преподавателя
|
|
# for res in (ExamTry.objects.filter(f_date=None).exclude(expired=True),
|
|
# HomeworkTry.objects.filter(f_date=None).exclude(expired=True)):
|
|
# for _try in res:
|
|
# if _try.parent.get_status_flag() not in ['N', 'F']:
|
|
# # Проверка экзамена
|
|
# if _try.date + timedelta(days=1) < datetime.now():
|
|
# _try.expired = True
|
|
# _try.save()
|
|
# for user in User.objects.filter(in_role='S2'):
|
|
# sent_new_expired(_try, user.email)
|
|
#
|
|
#
|
|
# @periodic_task(run_every=timedelta(minutes=1))
|
|
# def check_robo_prep():
|
|
# teacher = User.objects.get(email=TEACHER)
|
|
# handler = []
|
|
# for journal in HomeworkTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by(
|
|
# 'date'):
|
|
# if journal.parent.get_status_flag not in ['N', 'F']:
|
|
# handler.append(journal)
|
|
#
|
|
# for journal in ExamTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by(
|
|
# 'date'):
|
|
# if journal.parent.get_status_flag not in ['N', 'F']:
|
|
# handler.append(journal)
|
|
#
|
|
# print(handler)
|
|
# for _tr in handler:
|
|
# for _cm in _tr.comments.all():
|
|
# s = False
|
|
# print(_cm.text)
|
|
# if 'GO_TO_SUCCESS' in _cm.text:
|
|
# _tr.success = True
|
|
# _tr.f_date = datetime.now()
|
|
# s = True
|
|
# elif 'GO_TO_FAIL' in _cm.text:
|
|
# _tr.f_date = datetime.now()
|
|
# s = True
|
|
# if s:
|
|
# _tr.save()
|
|
#
|
|
#
|
|
# #@periodic_task(run_every=timedelta(minutes=3))
|
|
# #def block_warning():
|
|
# # for tm in CourseThemeJ.objects.filter(material__empty=True):
|
|
# # for n in CourseThemeJ.objects.filter(material__sort__gte=tm.material.sort-1, f_date=None).exclude(date=None):
|
|
# # for u in User.objects.filter(in_role='A'):
|
|
# # letters.block_warning(n, n.material.course.get_title(), u)
|
|
#
|
|
#
|
|
# @periodic_task(run_every=timedelta(minutes=3))
|
|
# def gen_in_diploma():
|
|
# for tm in DiplomaJ.objects.filter(gen=False):
|
|
# if not tm.out_image or not tm.in_image:
|
|
# _in, _out = tm.draw_key(*tm.draw_name(*tm.draw_date()))
|
|
# if _in:
|
|
# _in = open(_in, 'rb')
|
|
# tm.in_image.save(File(_in).name, File(_in), save=True)
|
|
#
|
|
# if _out:
|
|
# _out = open(_out, 'rb')
|
|
# tm.out_image.save(File(_out).name, File(_out), save=True)
|
|
# tm.gen = True
|
|
# tm.save()
|
|
|