def crearMateria(request): if request.user.tipoUsuario != 'admin': messages.warning(request, "Permisos de Administrador Requeridos") return redirect('inicio') else: grupos = Grupo.objects.all() maestros = User.objects.filter(tipoUsuario='maestro') if request.method == 'POST': try: nombre = request.POST.get('nombre') grupo = request.POST.get('grupos') maestro = request.POST.get('maestro') crearGrupo = Materia(nombre=nombre, grupo_id=grupo, maestro_id=maestro) crearGrupo.save() messages.success(request, "Guardado Correctamente") return redirect('añadir-materia') except: messages.warning(request, "Error al Guardar") return redirect('añadir-materia') return render(request, 'crear-materia.html', { 'grupos': grupos, 'maestros': maestros })
def save_horarios(soup, estudiante): tables= soup('table') n = 0 materias = list() for x in tables: n = n + 1 if n > 3 : materia = Materia() gm = False for tr in x.find_all('tr'): if len(tr.find_all('th')) == 1: th = tr.find('th') th = th.get_text().split(' ', 1)[0] if len(th) > 8: materia = Materia.objects.get(sigla=th[len(th)-7:]) materias.append(materia) if not materia.is_save_paralelo: materia.is_save_paralelo = True materia.save() gm = True else: gm = False else: if gm: paralelo = Paralelo() for td in tr.find_all('td'): if td.find_all('br') != None: horas = [tdx for tdx in td if len(tdx) > 6] if len(horas) == 1: paralelo.nombre_docente = horas[0] if len(td.get_text()) == 1: paralelo.sigla_paralelo = td.get_text() if len(horas) == 2: paralelo.id_materia = materia paralelo.save() for per in horas: periodo = Periodo() periodo.dia = per.split(' ', 1)[0] hi = per.split(' ')[1].split(':') periodo.hora_inicio = datetime.time(int(hi[0]),int(hi[1]),0) hf = per.split(' ')[3].split(':') periodo.hora_final = datetime.time(int(hf[0]),int(hf[1]),0) periodo.aula = per.split(' ', 4)[4] periodo.id_paralelo = paralelo periodo.save() paralelo = Paralelo() estudiante.inscripcion = materias
def save_pensum(urltext): page = urllib2.urlopen(urltext) soup = BeautifulSoup(page.read()) tables= soup('table') n = 0 for x in tables: n = n + 1 modulo = Modulo() if n > 3: # nombre del modulo modulo.nombre = x.find('th').get_text() modulo.save() materia = Materia() materias = [x.get_text() for x in x.find_all('td')] for y in xrange(0, len(materias), 3): materia.sigla = materias[y] materia.nombre = materias[y + 1] materia.modulo = modulo materia.save() if len(materias[y + 2].split(' ', 1)) > 0 and materias[y + 2].split(' ', 1)[0] != '': mats = [Materia.objects.get(sigla=sig) for sig in materias[y + 2].split(' ', 1)] materia.pre_requisito = mats