def execute(self): periodoEvaluacion = Configuracion.getPeriodoEvaluacionActual() rs = AsignaturaDocente.objects.filter( docente__periodoAcademico=periodoEvaluacion).values_list( 'asignatura__area', 'asignatura__carrera', 'docente', 'asignatura__semestre', 'asignatura__paralelo', 'asignatura__seccion', 'asignatura__nombre', 'id').order_by('asignatura__area', 'asignatura__carrera', 'docente', 'asignatura__semestre', 'asignatura__paralelo', 'asignatura__seccion', 'asignatura__nombre') rs2 = list() for t in rs: l = list(t) # Se cambia el id del docente por su representacion en unicode l[2] = DocentePeriodoAcademico.objects.get(id=l[2]).__unicode__() # Se cambia el id de la AsignaturaDocente por la cantidad de estudiantes que la toman l[7] = str( AsignaturaDocente.objects.get( id=l[7]).estudiantesAsignaturaDocente.count()) rs2.append(tuple(l)) root = os.path.abspath(os.path.dirname(__file__) + '../../../') f = open('{0}/tmp/docentes.csv'.format(root), 'wb') w = UnicodeWriter(f, delimiter=';') w.writerow((u'Área', u'Carrera', u'Docente', u'Módulo', u'Paralelo', u'Sección', u'Asignatura/Unidad/Momento/Modulo/Taller', u'No Estudiantes')) w.writerows(rs2) f.close()
def execute(self): periodoEvaluacion = Configuracion.getPeriodoEvaluacionActual() rs=AsignaturaDocente.objects.filter(docente__periodoAcademico=periodoEvaluacion).values_list( 'asignatura__area', 'asignatura__carrera', 'docente', 'asignatura__semestre', 'asignatura__paralelo', 'asignatura__seccion', 'asignatura__nombre', 'id').order_by('asignatura__area', 'asignatura__carrera', 'docente', 'asignatura__semestre', 'asignatura__paralelo', 'asignatura__seccion', 'asignatura__nombre') rs2 = list() for t in rs: l = list(t) # Se cambia el id del docente por su representacion en unicode l[2] = DocentePeriodoAcademico.objects.get(id=l[2]).__unicode__() # Se cambia el id de la AsignaturaDocente por la cantidad de estudiantes que la toman l[7] = str(AsignaturaDocente.objects.get(id=l[7]).estudiantesAsignaturaDocente.count()) rs2.append(tuple(l)) root = os.path.abspath(os.path.dirname(__file__) + '../../../') f = open('{0}/tmp/docentes.csv'.format(root), 'wb') w = UnicodeWriter(f, delimiter=';') w.writerow((u'Área', u'Carrera', u'Docente', u'Módulo', u'Paralelo', u'Sección', u'Asignatura/Unidad/Momento/Modulo/Taller', u'No Estudiantes')) w.writerows(rs2) f.close()
def execute(self): periodoAcademico = Configuracion.getPeriodoAcademicoActual() sgaimporter.importar(periodoAcademico.id) print periodoAcademico
""" Revisa todas las evaluaciones duplicadas que existan en el periodo de evaluacion actual para eliminarlos luego. """ import os, sys, time, codecs os.environ['DJANGO_SETTINGS_MODULE']='proyecto.settings' sys.path+=[os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]] file=codecs.open("databugs.txt",mode="w",encoding="utf-8") from proyecto.app.models import Evaluacion, Configuracion inicio=time.time() # Filtrar evaluaciones por periodo de Evaluacion evaluaciones = Evaluacion.objects.filter(cuestionario__periodoEvaluacion=Configuracion.getPeriodoEvaluacionActual()) unicos = [] repetidos = [] secciones=[] for e in evaluaciones: #seccion = (e.estudianteAsignaturaDocente, e.cuestionario, e.fechaInicio, e.horaInicio) seccion = (e.estudianteAsignaturaDocente, e.docentePeriodoAcademico, e.parAcademico, e.directorCarrera, e.cuestionario, e.fechaInicio, e.horaInicio) if seccion not in secciones: secciones.append(seccion) unicos.append(e) else: repetidos.append(e) print 'total:', len(evaluaciones) print 'unicos: ', len(unicos) print 'repetidos: ', len(repetidos) print repetidos for r in repetidos: file.write(r.__unicode__()+"\n") print 'eliminando ...' r.delete()
""" Revisa todas las evaluaciones duplicadas que existan en el periodo de evaluacion actual para eliminarlos luego. """ import os, sys, time, codecs os.environ['DJANGO_SETTINGS_MODULE'] = 'proyecto.settings' sys.path += [os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]] file = codecs.open("databugs.txt", mode="w", encoding="utf-8") from proyecto.app.models import Evaluacion, Configuracion inicio = time.time() # Filtrar evaluaciones por periodo de Evaluacion evaluaciones = Evaluacion.objects.filter( cuestionario__periodoEvaluacion=Configuracion.getPeriodoEvaluacionActual()) unicos = [] repetidos = [] secciones = [] for e in evaluaciones: #seccion = (e.estudianteAsignaturaDocente, e.cuestionario, e.fechaInicio, e.horaInicio) seccion = (e.estudianteAsignaturaDocente, e.docentePeriodoAcademico, e.parAcademico, e.directorCarrera, e.cuestionario, e.fechaInicio, e.horaInicio) if seccion not in secciones: secciones.append(seccion) unicos.append(e) else: repetidos.append(e) print 'total:', len(evaluaciones) print 'unicos: ', len(unicos) print 'repetidos: ', len(repetidos) print repetidos for r in repetidos: