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

# 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()