import json import sys from django.shortcuts import render from django.http.response import JsonResponse from rest_framework import status <<<<<<< HEAD from .models import Facultad, Curso, Matricula from rest_framework.decorators import api_view from rest_framework.parsers import JSONParser from .serializers import FacultadSerializer, CursoSerializer from .organizar import files3 ======= from .models import Facultad, Curso, Matricula, ProximoSemestre from rest_framework.decorators import api_view from rest_framework.parsers import JSONParser from .serializers import FacultadSerializer, CursoSerializer, MatriculaSerializer, ProximoSemestreSerializer from .organizar import files3 from .matricula import files >>>>>>> Suazo # Create your views here. @api_view(['POST', ]) def insertarFacultades(request): faculties = ['Administración de Empresas', 'Administración de Empresas Graduado', 'Arquitectura', 'Arquitectura Graduado', 'Asuntos Académicos', 'Ciencias Militares', 'Ciencias Naturales', 'Ciencias Naturales Graduado', 'Ciencias Sociales', 'Ciencias Sociales Graduado', 'Escuela de Comunicación', 'Escuela de Comunicación Graduada', 'Educación', 'Educación Continua (BEOF)', 'Educación Graduado', 'Escuela de Derecho', 'Escuela Graduada de Ciencias y Tecnologías de la Información', 'Estudios Generales', 'Humanidades', 'Humanidades Graduado', 'Planificación'] if request.method == 'POST': for faculty in faculties: facultad_serializer = FacultadSerializer(data={'fname': faculty}) if facultad_serializer.is_valid(): facultad_serializer.save() return JsonResponse({"message": 'se crearon todas las facultades'}, status=status.HTTP_201_CREATED) @api_view(['POST', ]) def insertarTodosLosCursos(request): if request.method == 'POST': <<<<<<< HEAD ======= i = 1 >>>>>>> Suazo for file in files3: check = file['file'].split('.') path = "C:/Users/danie/Documents/Projects/Companion App/server/segundo_sem" if check[ 0][-1] == '2' else "C:/Users/danie/Documents/Projects/Companion App/server/primer_sem" with open(path + '/' + file['file']) as f: data = json.load(f) fac_id = file['num'] for key in data: if key != 'Horario ': code = key name = data[key][0] creds = data[key][1] <<<<<<< HEAD curso_serializer = CursoSerializer( data={'name': name, 'code': code, 'creditos': creds, 'fac_id': fac_id}) if curso_serializer.is_valid(): curso_serializer.save() ======= try: curso = Curso.objects.get(code=code) except Curso.DoesNotExist: curso = None if curso == None: curso_serializer = CursoSerializer( data={'name': name, 'code': code, 'creditos': creds, 'fac_id': fac_id}) if curso_serializer.is_valid(): curso_serializer.save() else: print('ya se creo', i) i += 1 >>>>>>> Suazo return JsonResponse({'message': 'se insertaron todos los cursos'}, status=status.HTTP_201_CREATED) @api_view(['GET', 'POST']) def hello_world(request): if request.method == 'POST': return JsonResponse({"message": "Got some data!", "data": request.data}) return JsonResponse({"message": "Hello, world!"}) @api_view(['POST', ]) <<<<<<< HEAD def fetchMatricula(request): if request.method == 'POST': json = [] for i in Curso.objects.all(): json.append({"id": i.fac_id.id, "name": i.name, "code": i.code, "credits": i.creditos}) return JsonResponse(json, safe=False) @api_view(['POST', 'GET']) def testQuery(request): json = [] for i in Curso.objects.all(): json.append({"id": i.fac_id.id, "name": i.name, "code": i.code, "credits": i.creditos}) ======= def insertarProximoSemestre(request): if request.method == 'POST': for file in files: path = "C:/Users/danie/Documents/Projects/Companion App/server/Matricula Parse" with open(path + '/' + file['file']) as f: data = json.load(f) for course in data: print(course["Curso"]) print(Curso.objects.filter(code=course["Curso"])) code = Curso.objects.get(code=course["Curso"]) section = course["Seccion"] prof = course["Profesor"] days = "" for i in course["Dias"]: days += i days += " " hours = "" for i in course["Horario"]: hours += i hours += " " if hours == "": hours = "TBA" rooms = "" for i in course["Salones"]: rooms += i rooms += " " if rooms == "": rooms = "TBA" print( f"code {code.code}, section {section}, prof {prof}, hours {hours}, rooms {rooms}, days {days}") # extra_info = course["Info_Extra"] matricula_serializer = ProximoSemestreSerializer( data={'code': code.code, 'name': code.name, 'fac_id': code.fac_id.pk, 'course_id': code.pk, 'section': section, 'prof': prof, 'hours': hours, 'rooms': rooms, 'days': days}) if matricula_serializer.is_valid(raise_exception=True): matricula_serializer.save() print("inserted some data") return JsonResponse({'message': 'se insertaron todos los cursos'}, status=status.HTTP_201_CREATED) @api_view(['POST', ]) def fetchMatricula(request): json = [] for i in ProximoSemestre.objects.all(): json.append({"id": i.course_id.fac_id.id, "name": i.course_id.name, "code": i.course_id.code, "credits": i.course_id.creditos, "section": i.section, "prof": i.prof, "hours": i.hours, "days": i.days, "rooms": i.rooms}) >>>>>>> Suazo return JsonResponse(json, safe=False)