Esempio n. 1
0
 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()
Esempio n. 2
0
 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()
Esempio n. 3
0
 def execute(self):
     periodoAcademico = Configuracion.getPeriodoAcademicoActual()
     sgaimporter.importar(periodoAcademico.id)
     print periodoAcademico
Esempio n. 4
0
"""
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()
Esempio n. 5
0
 def execute(self):
     periodoAcademico = Configuracion.getPeriodoAcademicoActual()
     sgaimporter.importar(periodoAcademico.id)
     print periodoAcademico
Esempio n. 6
0
"""
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: