
Problema con funcion
Publicado por Paolo (2 intervenciones) el 17/11/2015 20:35:23
Hola a todos, tengo un problema con una funcion que a continuacion la adjunto.
se usa con web2py y al utilizarla me da el siguiente error.
<type 'exceptions.ValueError'> invalid literal for int() with base 10: ''
Versión
web2py™ Version 2.9.11-stable+timestamp.2014.09.15.23.35.11
Python Python 2.7.6: /usr/bin/python (prefix: /usr)
Rastreo
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Traceback (most recent call last):
File "/home/www-data/web2py/gluon/restricted.py", line 224, in restricted
exec ccode in environment
File "/home/www-data/web2py/applications/campuswebpro/controllers/docentes.py", line 859, in <module>
File "/home/www-data/web2py/gluon/globals.py", line 392, in <lambda>
self._caller = lambda f: f()
File "/home/www-data/web2py/gluon/tools.py", line 3439, in f
return action(*a, **b)
File "/home/www-data/web2py/gluon/tools.py", line 3439, in f
return action(*a, **b)
File "/home/www-data/web2py/applications/campuswebpro/controllers/docentes.py", line 383, in examenes_parciales
nota = int(request.vars.get("NOTA_%s" % alumno_id, 1))
ValueError: invalid literal for int() with base 10: ''
Al tener varios alumnos en la lista para cargar las notas y solo cargar la de uno de ellos ocurre el error y no al cargar todas las notas de los alumnos, es decir un casillero vacio me da error. pero si todos estan con notas no ocurre.
Gracias por su ayuda.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def examenes_parciales():
response.title="Docentes"
response.subtitle="Examenes parciales"
COMISIONID= (request.args[0])
q = db.alumnos.alumnoid==db.inscripcionescomision.alumnoid
q &= db.comisiones.comisionid==COMISIONID
#q &= db.comisiones.materiaid==db.examenes.materiaid
#q &=db.inscripcionesexamen.alumnoid==db.alumnos.alumnoid
# Busca las comisiones que coincidan
q &= db.inscripcionescomision.condicion == 1 #REGULAR
q &= db.inscripcionescomision.comisionid == db.comisiones.comisionid
#q &= db.inscripcionesexamen.examenid == db.examenes.examenid
q &= db.comisiones.materiaid == db.materias.materiaid
filas=db(q).select(db.alumnos.ALL,db.comisiones.materiaid, orderby=db.alumnos.nombre, distinct=True)
i=0
a=0
if request.vars.GRABAR:
for fila in filas:
if request.vars.condicion=="1":
calificacion=3 #PARCIAL
periodo=36 #PRIMER CUATRIMESTRE
elif request.vars.condicion=="2":
calificacion=3 #PARCIAL
periodo=37 #SEGUNDO CUATRIMESTRE
elif request.vars.condicion=="1r":
calificacion=4 #RECUPERATORIO
periodo=36 #PRIMER CUATRIMESTRE
elif request.vars.condicion=="2r":
calificacion=4 #RECUPERATORIO
periodo=37 #SEGUNDO CUATRIMESTRE
fecha= request.vars.fecha
alumno_id= fila.alumnos.alumnoid
materiaid=fila.comisiones.materiaid
#materia_id = alumno.materiaid
# calificacion_id = 1
nota = int(request.vars.get("NOTA_%s" % alumno_id, 0))
# libro = request.vars.libro
# folio =request.vars.folio
#observaciones= request.vars.get("observaciones_%s" % alumno_id, 0)
establecimiento= "I.S.T.B.P"
a=5
db.notas.insert(alumnoid=alumno_id, materiaid=materiaid, periodoid=periodo, calificacionid=calificacion, nota=nota ,fecha=fecha, establecimiento=establecimiento)
i= i+1
return{'filas':filas,'a':a}
se usa con web2py y al utilizarla me da el siguiente error.
<type 'exceptions.ValueError'> invalid literal for int() with base 10: ''
Versión
web2py™ Version 2.9.11-stable+timestamp.2014.09.15.23.35.11
Python Python 2.7.6: /usr/bin/python (prefix: /usr)
Rastreo
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Traceback (most recent call last):
File "/home/www-data/web2py/gluon/restricted.py", line 224, in restricted
exec ccode in environment
File "/home/www-data/web2py/applications/campuswebpro/controllers/docentes.py", line 859, in <module>
File "/home/www-data/web2py/gluon/globals.py", line 392, in <lambda>
self._caller = lambda f: f()
File "/home/www-data/web2py/gluon/tools.py", line 3439, in f
return action(*a, **b)
File "/home/www-data/web2py/gluon/tools.py", line 3439, in f
return action(*a, **b)
File "/home/www-data/web2py/applications/campuswebpro/controllers/docentes.py", line 383, in examenes_parciales
nota = int(request.vars.get("NOTA_%s" % alumno_id, 1))
ValueError: invalid literal for int() with base 10: ''
Al tener varios alumnos en la lista para cargar las notas y solo cargar la de uno de ellos ocurre el error y no al cargar todas las notas de los alumnos, es decir un casillero vacio me da error. pero si todos estan con notas no ocurre.
Gracias por su ayuda.
Valora esta pregunta


0