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