Beispiel #1
0
    def _get_data_listas(self):
        categorias = self._get_categorias()
        data_listas = [
            l for l in Lista.many(sorted='cod_partido,codigo')
            if not l.es_blanco()
        ]

        if get_tipo_elec("paso"):

            def _sort_listas_paso(lista_a, lista_b):
                return cmp(lista_a.partido.nombre.upper(),
                           lista_b.partido.nombre.upper())

            data_listas = sorted(data_listas, _sort_listas_paso)
        else:

            def _sort_listas(lista_a, lista_b):
                return cmp(
                    int(lista_a.numero)
                    if lista_a.numero != "" else lista_a.codigo,
                    int(lista_b.numero)
                    if lista_b.numero != "" else lista_b.codigo)

            data_listas = sorted(data_listas, _sort_listas)

        lista_blanca = Lista.one(COD_LISTA_BLANCO)
        if lista_blanca is not None:
            data_listas.append(lista_blanca)
        listas = []
        for lista in data_listas:
            lista_dict = lista.to_dict()
            if lista.partido is not None:
                lista_dict['nombre_partido'] = lista.partido.nombre
            lista_dict['candidatos'] = []
            for categoria in categorias:
                candidatos = Candidato.many(cod_lista=lista.codigo,
                                            cod_categoria=categoria.codigo,
                                            titular=True,
                                            numero_de_orden=1)
                if candidatos:
                    candidato = candidatos[0]
                    candidato_dict = candidato.to_dict()
                    candidato_dict['votos'] = \
                        self.sesion.recuento.obtener_resultado(categoria.codigo,
                                                               candidato.codigo)
                else:
                    candidato_dict = None
                lista_dict['candidatos'].append(candidato_dict)
            listas.append(lista_dict)

        cat_list = []
        for categoria in categorias:
            cat_dict = categoria.to_dict()
            cat_dict['nombre'] = _(cat_dict['nombre'])
            cat_list.append(cat_dict)

        return cat_list, listas
Beispiel #2
0
 def _get_categorias(self):
     """Devuelve las categorias para esta mesa y para esta partido en caso
     de que sea ese tipo de eleccion."""
     if not get_tipo_elec("interna"):
         categorias = Categoria.many(sorted="posicion")
     else:
         cod_cats = set([candidato.categoria.codigo for candidato in
                         Candidato.many(cod_partido=self.partido.codigo)])
         categorias = Categoria.many(codigo__in=cod_cats, sorted="posicion")
     return categorias
Beispiel #3
0
    def _get_dict_candidatos(self):
        if self.__dict_candidatos is None:
            cand = {(candidato.cod_lista, candidato.cod_categoria): candidato
                    for candidato in Candidato.many(titular=True,
                                                    numero_de_orden=1)}

            self.__dict_candidatos = cand
        else:
            cand = self.__dict_candidatos

        return cand
Beispiel #4
0
    def _get_dict_candidatos(self):
        if self.__dict_candidatos is None:
            cand = {(candidato.cod_lista, candidato.cod_categoria): candidato
                    for candidato in Candidato.many(titular=True,
                                                    numero_de_orden=1)}

            self.__dict_candidatos = cand
        else:
            cand = self.__dict_candidatos

        return cand
Beispiel #5
0
 def _get_categorias(self):
     """Devuelve las categorias para esta mesa y para esta partido en caso
     de que sea ese tipo de eleccion."""
     if not get_tipo_elec("interna"):
         categorias = Categoria.many(sorted="posicion")
     else:
         cod_cats = set([
             candidato.categoria.codigo for candidato in Candidato.many(
                 cod_partido=self.partido.codigo)
         ])
         categorias = Categoria.many(codigo__in=cod_cats, sorted="posicion")
     return categorias
Beispiel #6
0
    def _get_data_listas(self):
        categorias = self._get_categorias()
        data_listas = [l for l in Lista.many(sorted='cod_partido,codigo')
                       if not l.es_blanco()]

        if get_tipo_elec("paso"):
            def _sort_listas_paso(lista_a, lista_b):
                return cmp((lista_a.partido.nombre.upper(), lista_a.numero),
                           (lista_b.partido.nombre.upper(), lista_b.numero))
            data_listas = sorted(data_listas, _sort_listas_paso)
        else:
            def _sort_listas(lista_a, lista_b):
                return cmp(int(lista_a.numero)if lista_a.numero != ""
                        else lista_a.codigo,
                        int(lista_b.numero)if lista_b.numero != ""
                        else lista_b.codigo)
            data_listas = sorted(data_listas, _sort_listas)

        lista_blanca = Lista.one(COD_LISTA_BLANCO)
        if lista_blanca is not None:
            data_listas.append(lista_blanca)
        listas = []
        principales = {(candidato.cod_lista, candidato.cod_categoria): candidato
                       for candidato in Candidato.many(titular=True,
                                                       numero_de_orden=1)}
        for lista in data_listas:
            lista_dict = lista.to_dict()
            if lista.partido is not None:
                lista_dict['nombre_partido'] = lista.partido.nombre
            lista_dict['candidatos'] = []
            for categoria in categorias:
                candidato = principales.get((lista.codigo, categoria.codigo))
                if candidato is not None:
                    candidato_dict = candidato.to_dict()
                    candidato_dict['votos'] = \
                        self.sesion.recuento.obtener_resultado(categoria.codigo,
                                                               candidato.codigo)
                else:
                    candidato_dict = None
                lista_dict['candidatos'].append(candidato_dict)
            listas.append(lista_dict)

        cat_list = []
        for categoria in categorias:
            cat_dict = categoria.to_dict()
            cat_dict['nombre'] = _(cat_dict['nombre'])
            cat_list.append(cat_dict)

        return cat_list, listas
Beispiel #7
0
 def _get_categorias(self, consulta_popular=False, todas=False):
     """Devuelve las categorias para esta mesa y para esta partido en caso
     de que sea una interna no PASO."""
     if not get_tipo_elec("interna"):
         filter = {"sorted": "posicion", "consulta_popular": consulta_popular}
         if not todas:
             filter["adhiere"] = None
         categorias = Categoria.many(**filter)
     else:
         candidatos = Candidato.many(cod_partido=self.agrupacion.codigo)
         cod_cats = set([candidato.categoria.codigo for candidato in candidatos])
         filter = {"sorted": "posicion", "consulta_popular": consulta_popular, "codigo__in": cod_cats}
         if not todas:
             filter["adhiere"] = None
         categorias = Categoria.all(**filter)
     return categorias
Beispiel #8
0
 def _get_categorias(self, consulta_popular=False, todas=False):
     """Devuelve las categorias para esta mesa y para esta partido en caso
     de que sea una interna no PASO."""
     if not get_tipo_elec("interna"):
         filter = {
             'sorted': "posicion",
             'consulta_popular': consulta_popular
         }
         if not todas:
             filter['adhiere'] = None
         categorias = Categoria.many(**filter)
     else:
         candidatos = Candidato.many(cod_partido=self.agrupacion.codigo)
         cod_cats = set(
             [candidato.categoria.codigo for candidato in candidatos])
         filter = {
             'sorted': "posicion",
             'consulta_popular': consulta_popular,
             'codigo__in': cod_cats
         }
         if not todas:
             filter['adhiere'] = None
         categorias = Categoria.all(**filter)
     return categorias