예제 #1
0
def delClase(id_clase):
    '''
    Elimina la clase que se especifica con el identificador pasado, en caso de exisitir en el sistema.
    curl -i -X DELETE localhost:8002/clases/1
    '''
    salida = GestorClases.delClase(id_clase)
    if salida=="Elemento no encontrado":
        abort(404)
    else:
        return str(salida)
예제 #2
0
def delClase(id_clase):
    '''
    Elimina la clase que se especifica con el identificador pasado, en caso de exisitir en el sistema.
    curl -i -X DELETE localhost:8002/clases/1
    '''
    salida = GestorClases.delClase(id_clase)
    if salida == "Elemento no encontrado":
        abort(404)
    else:
        return str(salida)
예제 #3
0
def getAsociacionesClase(id_clase):
    '''
    Devuelve una lista con las asociaciones de clase-asignatura que se imparten a una clase concreta.
    Estas entindades son distintas de las asignaturas que se imparten en las clases ya que estas nos llevan a las
    asignaturas en general y las asociaciones son una especificación de la asignatura para una clase concreta.

    curl -i -X GET localhost:8002/clases/1/asociaciones

    '''
    return jsonpickle.encode(GestorClases.getAsociaciones(id_clase))
예제 #4
0
def getAsociacionesClase(id_clase):
    '''
    Devuelve una lista con las asociaciones de clase-asignatura que se imparten a una clase concreta.
    Estas entindades son distintas de las asignaturas que se imparten en las clases ya que estas nos llevan a las
    asignaturas en general y las asociaciones son una especificación de la asignatura para una clase concreta.

    curl -i -X GET localhost:8002/clases/1/asociaciones

    '''
    return jsonpickle.encode(GestorClases.getAsociaciones(id_clase))
예제 #5
0
def getClase(id_clase):
    '''
    Devuelve toda la información sobre la clase que se pasa el id.
    curl -i -X GET localhost:8002/clases/1
    '''
    salida = GestorClases.getClase(id_clase)
    if salida == "Elemento no encontrado":
        #Enviamos el error de NotFound
        abort(404)
    else:
        return jsonpickle.encode(salida)
예제 #6
0
def getClase(id_clase):
    '''
    Devuelve toda la información sobre la clase que se pasa el id.
    curl -i -X GET localhost:8002/clases/1
    '''
    salida=GestorClases.getClase(id_clase)
    if salida=="Elemento no encontrado":
        #Enviamos el error de NotFound
        abort(404)
    else:
        return jsonpickle.encode(salida)
예제 #7
0
def postCurso():
    '''
    Inserta una nueva clase en el sistema.
    curl -d "id=" -i -X POST localhost:8002/clases
    '''
    if 'id' in request.form:
        salida = GestorClases.nuevoCurso(request.form['id'],request.form['curso'], request.form['grupo'], request.form['nivel'])
        if salida == 'OK':
            return 'OK'
        else:
            abort(404)
    else:
        abort(404)
예제 #8
0
def postClase():
    '''
    Inserta una nueva clase en el sistema.
    curl -d "curso=3&grupo=C&nivel=ESO" -i -X POST localhost:8002/clases
    '''
    salida = GestorClases.nuevaClase(request.form['curso'],
                                     request.form['grupo'],
                                     request.form['nivel'])

    if salida['status'] == 'OK':

        #Una vez insertada la asignatura en el SBD llamamos al servicio SCE para que actualice su sistema (### DISPARADOR ###)

        #Conformamos la dirección:
        module = modules.get_current_module_name()
        url = "http://%s/" % modules.get_hostname(module="sce")
        #Añadimos el servicio al que queremos conectarnos.
        url += "clases"
        #Componemos el nombre como un solo string
        nombreClase = request.form['curso'] + request.form[
            'grupo'] + request.form['nivel']
        print nombreClase
        #Creamos un diccionario con los datos.
        datos = {
            "idClase": salida['idClase'],
            "nombreClase": nombreClase,
        }
        form_data = urllib.urlencode(datos)
        result = urlfetch.fetch(url=url,
                                payload=form_data,
                                method=urlfetch.POST)
        print result.content
        json = jsonpickle.decode(result.content)

        print 'AQUIIIIIIIIIIIIIIIIIIIIII'
        print json['status']

        if json['status'] != 'OK':
            salida['status'] = 'SCE ERROR'

    if v:
        print ' Return: ' + str(salida)

    return jsonpickle.encode(salida)
예제 #9
0
def modClaseCompleta(id_clase):
    '''
    Función que modifica los atributos de una clase completa dada su identificación
    curl -d "curso=1&grupo=B&nivel=ESO" -i -X POST localhost:8002/clases/1

    '''
    if v:
        print 'Calling GestorClases.modClaseCompleta()'

    #El id del alumno se pasa por la URL
    salida = GestorClases.modClaseCompleta(id_clase, request.form['curso'], request.form['grupo'], request.form['nivel']);

    if v:
        print "SALIDA: "+str(salida)

    if salida == 'OK':
        return 'OK'
    else:
        return salida
예제 #10
0
def modClaseCompleta(id_clase):
    '''
    Función que modifica los atributos de una clase completa dada su identificación
    curl -d "curso=1&grupo=B&nivel=ESO" -i -X POST localhost:8002/clases/1

    '''
    if v:
        print 'Calling GestorClases.modClaseCompleta()'

    #El id del alumno se pasa por la URL
    salida = GestorClases.modClaseCompleta(id_clase, request.form['curso'],
                                           request.form['grupo'],
                                           request.form['nivel'])

    if v:
        print "SALIDA: " + str(salida)

    if salida == 'OK':
        return 'OK'
    else:
        return salida
예제 #11
0
def postClase():
    '''
    Inserta una nueva clase en el sistema.
    curl -d "curso=3&grupo=C&nivel=ESO" -i -X POST localhost:8002/clases
    '''
    salida = GestorClases.nuevaClase(request.form['curso'], request.form['grupo'], request.form['nivel'])


    if salida['status'] == 'OK':

        #Una vez insertada la asignatura en el SBD llamamos al servicio SCE para que actualice su sistema (### DISPARADOR ###)

        #Conformamos la dirección:
        module = modules.get_current_module_name()
        url = "http://%s/" % modules.get_hostname(module="sce")
        #Añadimos el servicio al que queremos conectarnos.
        url+="clases"
        #Componemos el nombre como un solo string
        nombreClase = request.form['curso']+request.form['grupo']+request.form['nivel']
        print nombreClase
        #Creamos un diccionario con los datos.
        datos = {
          "idClase": salida['idClase'],
          "nombreClase": nombreClase,
        }
        form_data = urllib.urlencode(datos)
        result=urlfetch.fetch(url=url, payload=form_data, method=urlfetch.POST)
        print result.content
        json = jsonpickle.decode(result.content)

        print 'AQUIIIIIIIIIIIIIIIIIIIIII'
        print json['status']

        if json['status']!='OK':
            salida['status']='SCE ERROR'

    if v:
        print ' Return: '+str(salida)

    return jsonpickle.encode(salida)
예제 #12
0
def getProfesoresClase(id_clase):
    '''
    Devuelve una lista con los profesores que imparten clase a un grupo
    curl -i -X GET localhost:8002/clases/1/profesores
    '''
    return jsonpickle.encode(GestorClases.getProfesores(id_clase))
예제 #13
0
def getAlumnosClase(id_clase):
    '''
    Devuelve todos los alumnos que se encuentran matriculados en ese curso.
    curl -i -X GET localhost:8002/clases/1/alumnos
    '''
    return jsonpickle.encode(GestorClases.getAlumnos(id_clase))
예제 #14
0
def getAlumnosClase(id_clase):
    '''
    Devuelve todos los alumnos que se encuentran matriculados en ese curso.
    curl -i -X GET localhost:8002/clases/1/alumnos
    '''
    return jsonpickle.encode(GestorClases.getAlumnos(id_clase))
예제 #15
0
def getClases():
    '''
    Devuelve una lista con todos los clases registradas en el sistema.
    > curl -i -X GET localhost:8002/clases
    '''
    return jsonpickle.encode(GestorClases.getClases())
예제 #16
0
def getAsignaturasClase(id_clase):
    '''
    Devuelve una lista con las asignaturas que se imparten a una clase concreta.
    curl -i -X GET localhost:8002/clases/1/asignaturas
    '''
    return jsonpickle.encode(GestorClases.getAsignaturas(id_clase))
예제 #17
0
def getProfesoresClase(id_clase):
    '''
    Devuelve una lista con los profesores que imparten clase a un grupo
    curl -i -X GET localhost:8002/clases/1/profesores
    '''
    return jsonpickle.encode(GestorClases.getProfesores(id_clase))
예제 #18
0
def getAsignaturasClase(id_clase):
    '''
    Devuelve una lista con las asignaturas que se imparten a una clase concreta.
    curl -i -X GET localhost:8002/clases/1/asignaturas
    '''
    return jsonpickle.encode(GestorClases.getAsignaturas(id_clase))
예제 #19
0
def getAsignaturasCurso(id_curso):
    '''
    Devuelve una lista con las asignaturas que se imparten a un curso.
    curl -i -X GET localhost:8002/curso/1ESOA/asignaturas
    '''
    return jsonpickle.encode(GestorClases.getAsignaturas(id_curso))
예제 #20
0
def getClases():
    '''
    Devuelve una lista con todos los clases registradas en el sistema.
    > curl -i -X GET localhost:8002/clases
    '''
    return jsonpickle.encode(GestorClases.getClases())