def csv_test(request): from utils.data import dump_to_csv import StringIO output = StringIO.StringIO() dump_to_csv(Config.objects.all(), output) r = HttpResponse(output.getvalue()) # r = HttpResponse(output.getvalue(),mimetype='text/comma-separated-values') # r['Content-Disposition'] = 'attachment; filename=csv_test.csv' return r
def course_backup(request): logging.info(request.POST) course_id = request.POST['course_id'] course = Course.get_by_id(int(course_id)) if course is None: raise Http404 logging.info('course=%s'%course) student_list_to_enroll=Student.list_for_course_to_enroll(course.key()) student_list_enrolled=Student.list_for_course_enrolled(course.key()) if course.group_mode == 'Single': student_list_to_enroll = sort_students_spare_single(student_list_to_enroll) student_list_enrolled = sort_students_single(student_list_enrolled) elif course.group_mode == 'School': student_list_to_enroll = sort_students_spare_school(student_list_to_enroll) student_list_enrolled = sort_students_school(student_list_enrolled) elif course.group_mode == 'Pair': student_list_to_enroll = sort_students_spare_pair(student_list_to_enroll) student_list_enrolled = sort_students_pair(student_list_enrolled) students = [] students.extend(student_list_enrolled) students.extend(student_list_to_enroll) data = [ ['#zaloha kurz',course.code,course.folder_name(),course.season_name()]] for s in students: if not s.x_pair_empty_slot: data.append(s.as_csv_row()) out = cStringIO.StringIO() dump_to_csv(data,out) # logging.info(out) cb = CourseBackup() cb.init(out.getvalue(),course=course) cb.save() course.mark_as_backup() course.save() if cfg.getConfigBool('BACKUP_EMAIL_ON',False): taskqueue.add(url='/task/send_backup/', params={'coursebackup_id':cb.key().id()}) logging.info('send task plan ok, cbid=%s'%(cb.key().id())) else: logging.info('BACKUP_EMAIL_ON is OFF!') return HttpResponse('ok')