# 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 TeacherJ, LessonJ, HomeworkJ, ExamJ, CourseThemeJ from courses.models import Course, CourseMap def getMap_journal(_map, student): ob = None if _map._type == 'L': #try: ob = LessonJ.objects.get(material=_map.lesson, student=student) #except LessonJ.DoesNotExist: # print _map.lesson # print student.email # raise LessonJ.DoesNotExist elif _map._type == 'H': #try: ob = HomeworkJ.objects.get(material=_map.homework, student=student) #except HomeworkJ.DoesNotExist: # print _map.lesson # print student.email # raise HomeworkJ.DoesNotExist elif _map._type == 'E': #try: ob = ExamJ.objects.get(material=_map.exam, student=student) #except ExamJ.DoesNotExist: # print _map.lesson # print student.email # raise ExamJ.DoesNotExist return ob def rel(j): j.date = None j.f_date = None j.success = False j.save() for course in Course.objects.all(): print course for journal in TeacherJ.objects.filter(course=course).order_by('-student__id'): for theme in CourseThemeJ.objects.filter(parent=journal): #print theme theme.date = None theme.f_date = None theme.success = False theme.save() last = None _reload = False for _map in CourseMap.objects.filter(course=course).order_by('sort'): try: j = getMap_journal(_map, journal.student) except LessonJ.DoesNotExist: pass except HomeworkJ.DoesNotExist: pass except ExamJ.DoesNotExist: pass else: status = j.get_status_flag() if status == 'F' and j.date and j.f_date and j.success and not _reload: last = j elif _reload: rel(j) elif _map.sort and last: if getMap_journal(CourseMap.objects.get(course=course, sort=int(_map.sort)-1), journal.student) == last: _reload = True s = False if not j.date: j.date = datetime.datetime.now() s = True if j.f_date: j.f_date = None s = True if j.success: j.success = False s = True if s: j.save() elif _map.sort and not last: _reload = True rel(j)