def carga_mbc(): print "carga de cursos de MBC" cursosMbc = { "1": {"name": "Bioinformática", "credits": 4, "summer": False}, "2": {"name": "Algoritmos en Biología Computacional", "credits": 4, "summer": False}, "3": {"name": "Fundamentos en programación para ciencias biológicas", "credits": 4, "summer": False}, "4": {"name": "Biología Molecular Avanzada", "credits": 4, "summer": False}, "5": {"name": "Biología Cuantitativa", "credits": 4, "summer": False}, "6": {"name": "Procesamiento de datos biológicos", "credits": 4, "summer": False}, "7": {"name": "Computación de alto desempeño para ciencias biológicas", "credits": 4, "summer": False}, "8": {"name": "Computación visual para ciencias biológicas", "credits": 4, "summer": False}, "9": {"name": "Modelamiento de redes", "credits": 4, "summer": False}, "0": {"name": "Analisis de secuencias", "credits": 4, "summer": False}, "10": {"name": "Biología de sistemas", "credits": 4, "summer": False}, "11": {"name": "Biología sintética", "credits": 4, "summer": False}, "12": {"name": "Introducción a la ingeniería de proteinas", "credits": 4, "summer": False}, "13": {"name": "Modelamientos matemáticos en biología", "credits": 4, "summer": False}} for codigo in cursosMbc: obj_maestria = maestrias.dar_maestria(p_pensum) json_maestria = json.loads(obj_maestria.text) master_id = json_maestria["id"] add_course( pensum=Pensum.objects.get(name="Pensum_MBC"), code=codigo, credits=cursosMbc[codigo]["credits"], name=cursosMbc[codigo]["name"], summer=cursosMbc[codigo]["summer"])
def crear_estudiantes(pprograma, pcodigo , papellido, pnombre, pemail, pstatus): #Parametros para la llamada de la llamada de un estudiante BASE_PATH_STUDENT = "http://localhost:8000/map/api/student/codigo_student/?operation=6" headers_student = { 'API-KEY': '123', 'Authorization': 'Token ef3859d862f572ad532fceb04536e948da1d5270' } BASE_PATH_STUDENT = BASE_PATH_STUDENT.replace("codigo_student", str(pcodigo)) #Se llama al servicio de llamada de estudiante para verificar si este existe rta_buscar_estudiante = fork_service.llamada_get(BASE_PATH_STUDENT, headers_student) s_code = rta_buscar_estudiante.status_code if s_code == 500: json_rta = json.loads(rta_buscar_estudiante.text)['mensaje'] if json_rta == 'No existe el estudiante': rta_dar_maestria = maestrias.dar_maestria(pprograma) s_code_dar_maestria = rta_dar_maestria.status_code json_maestria = {} if rta_dar_maestria != None: if s_code_dar_maestria == 500: print 'No se encontro la maestría: ' + pprograma rta_crear = maestrias.crear_maesria(pprograma) if rta_crear.status_code == 500: print "Error en la creacion de la maestria" + pprograma elif rta_crear.status_code == 200: print('Se creó la maestria:') json_maestria = json.loads(rta_crear.text) elif s_code_dar_maestria == 200: decode_dar_maestria = rta_dar_maestria.text json_maestria = json.loads(decode_dar_maestria) master_id=json_maestria["id"] data = { 'lastname': papellido, 'code': pcodigo, 'email': pemail, 'name': pnombre, 'student_status': pstatus, 'master_id': master_id } rta = servicio_crear_estudiante(data) return rta else: print "Error en la busqueda de la maestría: " + pcodigo else: print "Estudiante ya existe: " + str(pcodigo) return rta_buscar_estudiante
def carga_cursos_mati(p_numero_escenario): maestria = local_settings.MATI print 'creación de ' + maestria rta_dar_maestria = maestrias.dar_maestria(maestria) s_code_dar_maestria = rta_dar_maestria.status_code if rta_dar_maestria != None: if s_code_dar_maestria == 500: print 'No se encontro la maestría: ' + maestria rta_crear = maestrias.crear_maesria(maestria) if rta_crear == 500: print "Error en la creacion de la maestria" + maestria elif rta_crear == 200: print('Se creó la maestria:') print rta_crear.text print else: print('Ya existe la maestría') print 'creación de ' + maestria print "Cargando cursos escenario " + p_numero_escenario delimiter = ' ' path_num_escenario = "escenario" + p_numero_escenario path_escenario = local_settings.path_base_cursos_base.replace( "num_escenario", path_num_escenario) with open(path_escenario + "cursos_base_mati.csv", 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter=delimiter) for row in reader: validar_datos.analisis_datos_curso(prm_maestria=maestria) obj_maestria = maestrias.dar_maestria(maestria) json_maestria = json.loads(obj_maestria.text) obj_pensum = maestrias.dar_pensum_maestria(json_maestria["id"]) json_pensum = json.loads(obj_pensum.text) rta = curso.crear_curso(row['NAME'], row['CODE'], row['CREDITS'], row['SUMMER'], json_pensum[0]["id"]) print(rta.text)
def carga_cursos_mati(p_numero_escenario): maestria = local_settings.MATI print 'creación de ' + maestria rta_dar_maestria = maestrias.dar_maestria(maestria) s_code_dar_maestria = rta_dar_maestria.status_code if rta_dar_maestria != None: if s_code_dar_maestria == 500: print 'No se encontro la maestría: ' + maestria rta_crear = maestrias.crear_maesria(maestria) if rta_crear == 500: print "Error en la creacion de la maestria" + maestria elif rta_crear == 200: print('Se creó la maestria:') print rta_crear.text print else: print('Ya existe la maestría') print 'creación de ' + maestria print "Cargando cursos escenario "+ p_numero_escenario delimiter = ' ' path_num_escenario = "escenario"+p_numero_escenario path_escenario = local_settings.path_base_cursos_base.replace("num_escenario",path_num_escenario) with open( path_escenario + "cursos_base_mati.csv", 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter=delimiter) for row in reader: validar_datos.analisis_datos_curso(prm_maestria= maestria) obj_maestria = maestrias.dar_maestria(maestria) json_maestria = json.loads(obj_maestria.text) obj_pensum = maestrias.dar_pensum_maestria(json_maestria["id"]) json_pensum = json.loads(obj_pensum.text) rta = curso.crear_curso(row['NAME'], row['CODE'], row['CREDITS'], row['SUMMER'], json_pensum[0]["id"]) print(rta.text)
def analisis_datos_curso(prm_id, prm_cursosMati, prm_maestria): obj_maestria = maestrias.dar_maestria(prm_maestria) code_dar_maestria = obj_maestria.status_code if obj_maestria != None: if code_dar_maestria == 500: print 'No se encontro la maestría: ' + prm_maestria rta_crear = maestrias.crear_maesria(prm_maestria) if rta_crear == 500: print "Error en la creacion de la maestria" + prm_maestria elif rta_crear == 200: print('Se creó la maestria:') print rta_crear.text print obj_maestria = maestrias.dar_maestria(prm_maestria) json_maestria = json.loads(obj_maestria.text) obj_pensum = maestrias.dar_pensum_maestria(json_maestria["id"]) code_dar_pensum = obj_pensum.status_code if obj_pensum != None: if code_dar_pensum == 500: print 'No se encontro un pensum de la maestria' rta_crear = pensum.crear_pensum(json_maestria["id"],json_maestria["name"]+" pensum") rta_crear_code= rta_crear.status_code if rta_crear_code == 500: print "Error en la creacion del pensum" + json_maestria["name"]+" pensum" elif rta_crear_code == 200: print('Se creó el pensum:') print rta_crear.text print obj_pensum = maestrias.dar_pensum_maestria(json_maestria["id"]) json_pensum = json.loads(obj_pensum.text) print( json_pensum ) print( json_maestria )
def cargar_estudiantes_graduados(parchivo): #Parametros para la llamada de un estudiante headers_student = { 'API-KEY': '123', 'Authorization': 'Token ef3859d862f572ad532fceb04536e948da1d5270' } #Parametros para actualizar los datos de un estudiante BASE_PATH_EDIT_STUDENT = "http://localhost:8000/map/api/student/codigo_student" headers_edit_student = { 'API-KEY': '123', 'Authorization': 'Token ef3859d862f572ad532fceb04536e948da1d5270' } delimiter = ' ' with open(local_settings.path_student_graduated + parchivo, 'rb') as csvfile: reader = csv.DictReader(csvfile, delimiter=delimiter) for row in reader: BASE_PATH_STUDENT = "http://localhost:8000/map/api/student/codigo_student/?operation=6" pprograma = row["PROGRAMA"] papellido = row['APELLIDOS'] pcodigo = row['CARNET'] pnombre = row['NOMBRES'] pstatus = 3 BASE_PATH_STUDENT = BASE_PATH_STUDENT.replace("codigo_student", row['CARNET']) rta_buscar_estudiante = fork_service.llamada_get(BASE_PATH_STUDENT, headers_student) s_code = rta_buscar_estudiante.status_code if s_code == 500: rta_dar_maestria = maestrias.dar_maestria(pprograma) s_code_dar_maestria = rta_dar_maestria.status_code if rta_dar_maestria != None: if s_code_dar_maestria == 500: print 'No se encontro la maestría: ' + pprograma rta_crear = maestrias.crear_maesria(pprograma) if rta_crear == 500: print "Error en la creacion de la maestria" + pprograma elif rta_crear == 200: print('Se creó la maestria:') print rta_crear.text print elif s_code_dar_maestria == 200: decode_dar_maestria = rta_dar_maestria.text json_maestria = json.loads(decode_dar_maestria) master_id=json_maestria["id"] data = { 'lastname': papellido, 'code': pcodigo, 'name': pnombre, 'student_status': pstatus, 'master_id': master_id } rta = servicio_crear_estudiante( data ) print rta else: print "Error en el estudiante" + pcodigo else: print "Error en la busqueda de la maestría: " + pcodigo else: json_id_estudiante = json.loads(rta_buscar_estudiante.text)['id'] BASE_PATH_EDIT_STUDENT = BASE_PATH_EDIT_STUDENT.replace("codigo_student", str(json_id_estudiante)) data_edit = { 'student_status': 3 } print(BASE_PATH_EDIT_STUDENT) print(data_edit) rta = fork_service.llamada_put(BASE_PATH_EDIT_STUDENT, headers_edit_student, data_edit) print "Estudiante ya existe: " + pcodigo print "Se actualiza el estado a graduado" print(rta.text)
def carga_mati(): maestria = 'MAESTRIA EN ARQUITECTURAS TI' print 'creación de ' + maestria rta_dar_maestria = maestrias.dar_maestria(maestria) s_code_dar_maestria = rta_dar_maestria.status_code if rta_dar_maestria != None: if s_code_dar_maestria == 500: print 'No se encontro la maestría: ' + maestria rta_crear = maestrias.crear_maesria(maestria) if rta_crear == 500: print "Error en la creacion de la maestria" + maestria elif rta_crear == 200: print('Se creó la maestria:') print rta_crear.text print else: print('Ya existe la maestría') print "carga de cursos de MATI" cursosMati = { "ARTI4101": {"name": "Gerencia de Proyectos para Arquitectos", "credits": 4, "summer": False}, "ARTI4102": {"name": "Comunicación Efectiva para Arquitectos", "credits": 4, "summer": False}, "ARTI4103": {"name": "Arquitectura de Negocios y Estrategia de TI", "credits": 4, "summer": False}, "ARTI4104": {"name": "Fundamentos para Arquitectos", "credits": 4, "summer": False}, "ARTI4201": {"name": "Arquitectura de Solución", "credits": 4, "summer": False}, "ARTI4202": {"name": "Arquitectura de Información", "credits": 4, "summer": False}, "ARTI4203": {"name": "Arquitectura de Infraestructura de TI", "credits": 4, "summer": False}, "ARTI4204": {"name": "Arquitectura de Seguridad", "credits": 4, "summer": False}, "ARTI4205": {"name": "Arquitectura de Procesos de Negocio", "credits": 4, "summer": False}, "ARTI4301": {"name": "Proyecto final", "credits": 4, "summer": False}, "ARTI4106": {"name": "Arquitectura Empresarial", "credits": 4, "summer": False} } for codigo in cursosMati: analisis_datos_curso(codigo, cursosMati, maestria) obj_maestria = maestrias.dar_maestria(maestria) json_maestria = json.loads(obj_maestria.text) obj_pensum = maestrias.dar_pensum_maestria(json_maestria["id"]) json_pensum = json.loads(obj_pensum.text) rta = curso.crear_curso(cursosMati[codigo]["name"], codigo, cursosMati[codigo]["credits"], cursosMati[codigo]["summer"], json_pensum[0]["id"]) print(rta.text) # print "carga de secciones de MATI" seccionesMati = { 13183: {"course": "ARTI4101", "capacity": {"MATI": 34, "pregrado": 3, "otros": 3}, "name": "1", "semester": 1, "year": 2015, "teacher": 79505041, "status": 0}, 13579: {"course": "ARTI4102", "capacity": {"MATI": 32, "pregrado": 2, "otros": 6}, "name": "2", "semester": 1, "year": 2015, "teacher": 120000000, "status": 0}, 12663: {"course": "ARTI4103", "capacity": {"MATI": 40, "MBIT": 40, "MESI": 10}, "name": "1", "semester": 1, "year": 2015, "teacher": 79232014, "status": 0}, 13981: {"course": "ARTI4104", "capacity": {"MATI": 34, "pregrado": 2, "otros": 4}, "name": "2", "semester": 1, "year": 2015, "teacher": 198714604, "status": 0}, 13982: {"course": "ARTI4106", "capacity": {"MATI": 60, "MBIT": 40}, "name": "1", "semester": 1, "year": 2015, "teacher": 130000000, "status": 0}, 12664: {"course": "ARTI4201", "capacity": {"MATI": 35, "otros": 5}, "name": "1", "semester": 1, "year": 2015, "teacher": 79505041, "status": 0}, 12667: {"course": "ARTI4202", "capacity": {"MATI": 34, "pregrado": 2, "otros": 4}, "name": "1", "semester": 1, "year": 2015, "teacher": 140000000, "status": 0}, 12665: {"course": "ARTI4203", "capacity": {"MATI": 20, "MESI": 20}, "name": "1", "semester": 1, "year": 2015, "teacher": 79419382, "status": 0}, 13185: {"course": "ARTI4204", "capacity": {"MATI": 32, "pregrado": 4, "otros": 4}, "name": "1", "semester": 1, "year": 2015, "teacher": 85462189, "status": 0}, 13285: {"course": "ARTI4205", "capacity": {"MATI": 34, "pregrado": 2, "otros": 4}, "name": "1", "semester": 1, "year": 2015, "teacher": 200021872, "status": 0}, 13582: {"course": "ARTI4301", "capacity": {"MATI": 99}, "name": "1", "semester": 1, "year": 2015, "teacher": 79505041, "status": 0} } for seccion_p in seccionesMati: v_profesor = profesores.dar_profesor(p_code=seccionesMati[seccion_p]["teacher"]) v_curso = curso.dar_curso(p_code=seccionesMati[seccion_p]["course"]) rta = seccion.crear_seccion( crn=seccion_p, name=seccionesMati[seccion_p]["name"], semester=seccionesMati[seccion_p]["semester"], year=seccionesMati[seccion_p]["year"], id_teacher= validar_datos.validar_datos_seccion_profesor(v_profesor), id_course=validar_datos.validar_datos_seccion_seccion(v_curso), status=seccionesMati[seccion_p]["status"] ) print(rta.text)