# coding=utf-8 import os import datetime import django import sys sys.path.append("/var/www/projects/lms/") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") django.setup() from journals.models import HomeworkTry, HomeworkJ all_ht = set() def good(tr, comment): if not tr.success: tr.success = True if not tr.f_date: tr.f_date = comment.date if not tr.date: tr.date = comment.date tr.save() all_ht.add(tr.id) tr.comments.add(comment) def fail(tr, comment): if tr.success: tr.success = False if not tr.f_date: tr.f_date = comment.date if not tr.date: tr.date = comment.date tr.save() all_ht.add(tr.id) tr.comments.add(comment) def append_comment(tr, comment): if not tr.date: tr.date = comment.date tr.save() all_ht.add(tr.id) tr.comments.add(comment) def get_comments(journal): comments = {} for tr in HomeworkTry.objects.filter(parent=journal): for i in tr.comments.all(): comments[i.date] = i sort_list = list(comments.keys()) sort_list.sort() return comments, sort_list def create_ht(journal): return HomeworkTry.objects.create(student=journal.student, parent=journal, material=journal.material) for i in HomeworkJ.objects.all(): comments, sort_list = get_comments(i) if comments: ht = create_ht(i) for n in sort_list: if not ht: ht = create_ht(i) if comments[n].owner.in_role == 'T': if u'Задача принята!' in comments[n].text: good(ht, comments[n]) elif u'Отправлено на доработку!' in comments[n].text: fail(ht, comments[n]) ht = None else: print comments[n].text result = raw_input(u'Сдано? Y/N: ') if result in ['y', 'Y', 'н', 'Н']: good(ht, comments[n]) elif result in ['n', 'N', 'т', 'Т']: fail(ht, comments[n]) ht = None else: append_comment(ht, comments[n]) HomeworkTry.objects.all().exclude(id__in=all_ht).delete()