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.
 
 
 
 
 
 

121 lines
3.7 KiB

# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from journals.models import HomeworkTry, TeacherJ, HomeworkJ, ExamJ, ExamTry
from lms.tools import show_progress
old = User.objects.get(email='raso.practice@gmail.com')
new = User.objects.get(email='nataliya.akimova47@gmail.com')
new2 = User.objects.get(email='html@bedev.ru')
all = (int(TeacherJ.objects.filter(teacher=old).count()) +
int(HomeworkJ.objects.filter(teacher=old, f_date=None).count()) +
int(HomeworkTry.objects.filter(teacher=old, f_date=None).count()) +
int(ExamJ.objects.filter(teacher=old, f_date=None).count()) +
int(ExamTry.objects.filter(teacher=old, f_date=None).count())
)
works = (
('TJ', TeacherJ.objects.filter(teacher=old).exclude(progress=100)),
('HJ', HomeworkJ.objects.filter(teacher=old, f_date=None)),
('HT', HomeworkTry.objects.filter(teacher=old, f_date=None)),
('EJ', ExamJ.objects.filter(teacher=old, f_date=None)),
('ET', ExamTry.objects.filter(teacher=old, f_date=None))
)
n = 0
to_new = set()
to_new2 = set()
print('Всего работ: %s' % all)
for name, work in works:
for point in work:
if name == 'TJ':
point.teacher = new
to_new.add(point.student.email)
elif name == 'HJ':
if point.material.theme.sort < 10:
point.teacher = new
else:
point.teacher = new2
if point.parent.parent.teacher != new2:
point.parent.parent.teacher = new2
point.parent.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
elif name == 'HT':
if point.parent.material.theme.sort < 10:
point.teacher = new
else:
point.teacher = new2
if point.parent.parent.parent.teacher != new2:
point.parent.parent.parent.teacher = new2
point.parent.parent.parent.save()
if point.parent.teacher != new2:
point.parent.teacher = new2
point.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
elif name == 'EJ':
point.teacher = new2
if point.parent.parent.teacher != new2:
point.parent.parent.teacher = new2
point.parent.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
elif name == 'ET':
point.teacher = new2
if point.parent.teacher != new2:
point.parent.teacher = new2
point.parent.save()
if point.parent.parent.parent.teacher != new2:
point.parent.parent.parent.teacher = new2
point.parent.parent.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
point.save()
show_progress(all, n)
n += 1
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish - start).seconds)
print('======================')
print(new)
for i in to_new:
print(i)
print('======================')
print(new2)
for i in to_new2:
print(i)