diff --git a/_utils/reports/get_success_for_theme.py b/_utils/reports/get_success_for_theme.py new file mode 100644 index 0000000..d6cc6bc --- /dev/null +++ b/_utils/reports/get_success_for_theme.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# Получить почты пользователей с темой в статусе сдано +import os +import django +import sys +BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +sys.path.append("/var/www/projects/codemy/") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") +django.setup() + +from courses.models import Course, CourseTheme +from journals.models import CourseThemeJ + +print('## Почты пользователей в статусе сдано по теме') + +_courses = Course.objects.filter(public=True).order_by('id') + +for _c in _courses: + print('{0}: {1}'.format(_c.id, _c.get_title())) + +_c = input('Выберите курс: ') +_course = Course.objects.get(id=int(_c)) + +_themes = CourseTheme.objects.filter(course=_course).order_by('sort') +for _t in _themes: + print('{0}: {2}/{1}'.format(_t.id, _t.get_title(), _t.sort)) + +_t = input('Выберите тему: ') +_theme = CourseTheme.objects.get(id=int(_t)) + +_result = CourseThemeJ.objects.filter(material=_theme).exclude(date=None, f_date=None).values_list('student__email', flat=True) + +for i in _result: + print(i) + +print('Количество пользователей: {0}'.format(len(_result))) diff --git a/_utils/reports/get_theme_try_len.py b/_utils/reports/get_theme_try_len.py index 9eba941..adc2c2d 100644 --- a/_utils/reports/get_theme_try_len.py +++ b/_utils/reports/get_theme_try_len.py @@ -62,10 +62,13 @@ for _u in _users: _result = sorted(_result.items(), key=lambda x: x[1], reverse=True) +_n = 0 for key, value in _result: if value > 0: + _n += 1 result_file.write('{0} / {1} {2} \n'.format(key, value, HomeworkJ.objects.filter(material__theme=_theme, student__email=key).last().get_status()['title'] if HomeworkJ.objects.filter(material__theme=_theme, student__email=key).exists() else 'Не преступил')) result_file.close() +print('Пользователей в отчете: {0}'.format(_n)) print('Среднее количество попыток, исключая нулевые: {0:4.2}'.format(sum(_average) / len(_average)))