Example #1
0
def _subnamespace_url_conjunto(conjunto):
    conjunto_casteado = conjuntos_utils.castear_a_subclase(conjunto)
    if isinstance(conjunto_casteado, Practica):
        return 'practica'
    elif isinstance(conjunto_casteado, Parcial):
        return 'parcial'
    elif isinstance(conjunto_casteado, Final):
        return 'final'
Example #2
0
 def test_con_conjunto_con_parcial(self):
     """Debería devolver el Parcial correspondiente."""
     parcial = Parcial.objects.create(materia=self.materia,
                                      anio=2018,
                                      cuatrimestre=1,
                                      numero=1)
     self.assertIsInstance(
         castear_a_subclase(parcial.conjuntodeenunciados_ptr), Parcial)
Example #3
0
 def test_con_conjunto_con_practica(self):
     """Debería devolver la Practica correspondiente."""
     practica = Practica.objects.create(materia=self.materia,
                                        anio=2018,
                                        cuatrimestre=1,
                                        numero=1)
     self.assertIsInstance(
         castear_a_subclase(practica.conjuntodeenunciados_ptr), Practica)
Example #4
0
def breadcrumb_ver_enunciado(materia_carrera, enunciado):
    breadcrumb_conjunto = breadcrumb_conjunto_de_enunciados(
        materia_carrera,
        conjuntos_utils.castear_a_subclase(enunciado.conjunto))
    return breadcrumb_conjunto + [
        BreadcrumbPage(
            enunciado,
            enunciados_url_parser.url_enunciado(materia_carrera, enunciado))
    ]
Example #5
0
def namespace_de_conjunto(conjunto):
    conjunto_casteado = conjuntos_utils.castear_a_subclase(conjunto)
    if isinstance(conjunto_casteado, Practica):
        subdomain = 'practicas'
    elif isinstance(conjunto_casteado, Parcial):
        subdomain = \
            'recuperatorios' if conjunto_casteado.recuperatorio else 'parciales'
    elif isinstance(conjunto_casteado, Final):
        subdomain = 'finales'
    namespace = _subnamespace_url_conjunto(conjunto)
    return 'materia:{}:{}'.format(subdomain, namespace)
Example #6
0
def kwargs_de_conjunto(materiacarrera, conjunto):
    conjunto_casteado = conjuntos_utils.castear_a_subclase(conjunto)
    if isinstance(conjunto_casteado, Practica):
        kwargs = kwargs_de_practica(conjunto_casteado)
    elif isinstance(conjunto_casteado, Parcial):
        kwargs = kwargs_de_parcial(conjunto_casteado)
    elif isinstance(conjunto_casteado, Final):
        kwargs = kwargs_de_final(conjunto_casteado)
    else:
        raise ValueError('Tipo de conjunto no conocido.')

    kwargs['materia_carrera'] = materiacarrera
    return kwargs
Example #7
0
 def test_con_final_no_guardado(self):
     """Debería devolver el mismo Final."""
     final = Final()
     self.assertEqual(castear_a_subclase(final), final)
Example #8
0
 def test_con_parcial_no_guardado(self):
     """Debería devolver el mismo Parcial."""
     parcial = Parcial()
     self.assertEqual(castear_a_subclase(parcial), parcial)
Example #9
0
 def test_con_practica_no_guardada(self):
     """Debería devolver la misma Practica."""
     practica = Practica()
     self.assertEqual(castear_a_subclase(practica), practica)
Example #10
0
 def test_con_conjunto_con_final(self):
     """Debería devolver el Final correspondiente."""
     final = Final.objects.create(materia=self.materia,
                                  fecha=datetime.date.today())
     self.assertIsInstance(
         castear_a_subclase(final.conjuntodeenunciados_ptr), Final)