示例#1
0
文件: actas.py 项目: bauna/vot.ar
    def a_imagen(self, de_muestra=False, svg=False):
        """Devuelve la imagen para imprimir el apertura."""
        titulo = _("titulo_apertura")
        try:
            presidente = self.autoridades[0]
        except IndexError:
            presidente = ""
        suplentes = self.autoridades[1:]
        mesa = self.mesa
        datos = {
            'presidente': presidente,
            'suplentes': suplentes,
            'cantidad_suplentes': len(suplentes),
            'mesa': mesa.numero,
            'escuela': mesa.escuela,
            'municipio': mesa.municipio,
            'departamento': mesa.departamento,
            'horas': "%02d" % self.hora['horas'],
            'minutos': "%02d" % self.hora['minutos'],
            'mostrar_texto': True,
            'leyenda': None,
            'pie': "|".join([mesa.codigo, str(mesa.id_planilla),
                             mesa.escuela]),
            "cod_datos": self.mesa.cod_datos,
        }
        config = Config(["imaging"], mesa.cod_datos)
        usar_qr = config.val("usar_qr")

        qr_img = self.a_qr_b64_encoded() if usar_qr and not de_muestra else None
        imagen = ImagenActa(titulo, datos, de_muestra=de_muestra, qr=qr_img)
        if svg:
            rendered = imagen.render_svg()
        else:
            rendered = imagen.render_image()
        return rendered
示例#2
0
    def a_imagen(self, de_muestra=False, svg=False):
        """Devuelve la imagen para imprimir el apertura."""
        titulo = _("titulo_apertura")
        try:
            presidente = self.autoridades[0]
        except IndexError:
            presidente = ""
        suplentes = self.autoridades[1:]
        mesa = self.mesa
        datos = {
            'presidente': presidente,
            'suplentes': suplentes,
            'cantidad_suplentes': len(suplentes),
            'mesa': mesa.numero,
            'escuela': mesa.escuela,
            'municipio': mesa.municipio,
            'departamento': mesa.departamento,
            'horas': "%02d" % self.hora['horas'],
            'minutos': "%02d" % self.hora['minutos'],
            'mostrar_texto': True,
            'leyenda': None,
            'pie': "|".join([mesa.codigo,
                             str(mesa.id_planilla), mesa.escuela]),
            "cod_datos": self.mesa.cod_datos,
        }
        config = Config(["imaging"], mesa.cod_datos)
        usar_qr = config.val("usar_qr")

        qr_img = self.a_qr_b64_encoded(
        ) if usar_qr and not de_muestra else None
        imagen = ImagenActa(titulo, datos, de_muestra=de_muestra, qr=qr_img)
        if svg:
            rendered = imagen.render_svg()
        else:
            rendered = imagen.render_image()
        return rendered
示例#3
0
文件: actas.py 项目: bauna/vot.ar
    def a_imagen(self, tipo=None, de_muestra=False, svg=False):
        """Devuelve la imagen para imprimir recuento.

        Argumentos:
        tipo -- una tupla con el tipo de acta y el id_de grupo de categorias.
            Puede ser None si no no queremos agrupar.
        de_muestra --  es la imagen que no se imprime, que se muestra en
            pantalla.
        svg -- Devuelve un svg si True, en caso contrario un objeto PIL.Image
        """
        if tipo is None:
            tipo = (CIERRE_RECUENTO, None)

        # Muestra el icono del verificador en la boleta. Si no tiene chip en el
        # documento en el que imprimimos no imprimirmos el verificador.
        verif = True
        # Por defecto no tenemos titulo, a menos que el tipo de acta tenga
        # titulo.
        titulo = ""
        leyenda = None

        # Internamente todas las actas son iguales, lo que cambia es el texto
        # que se imprime, pero el acta una vez serializada no sabe cual es.
        if tipo[0] == CIERRE_RECUENTO:
            # El acta de cierre.
            titulo = _("titulo_recuento")
            leyenda = _("no_insertar_en_urna")
        elif tipo[0] == CIERRE_TRANSMISION:
            # El acta de transmision.
            titulo = _("titulo_transmision")
            leyenda = _("no_insertar_en_urna")
        elif tipo[0] == CIERRE_CERTIFICADO or tipo[0] == CIERRE_ESCRUTINIO:
            # El certificado de escrutinio.
            titulo = _("titulo_certificado")
            verif = False
        elif tipo[0] == CIERRE_COPIA_FIEL:
            # Una copia fiel del certificado. (Certificado sin datos desc_mesa
            # autoridades)
            titulo = _("titulo_copia_fiel")
            verif = False
        grupo_cat = tipo[1]

        # Establecemos las autoridades para los templates del texto del acta,
        # los cuales hacen diferencia entre el presidente y los suplentes.
        try:
            presidente = self.autoridades[0]
        except IndexError:
            presidente = ""
        suplentes = [sup for sup in self.autoridades[1:]
                     if sup.nro_documento != 0]

        mesa = self.mesa
        # Armamos los datos para el texto.
        datos = {
            'presidente': presidente,
            'suplentes': suplentes,
            'cantidad_suplentes': len(suplentes),
            'mesa': mesa.numero,
            'escuela': mesa.escuela,
            'municipio': mesa.municipio,
            'departamento': mesa.departamento,
            'horas': "%02d" % self.hora.get('horas', "") \
                if self.hora is not None else "",
            'minutos': "%02d" % self.hora.get('minutos', "")
                if self.hora is not None else "",
            'mostrar_texto': self.hora is not None,
            'leyenda': leyenda,
            'pie': "|".join([mesa.codigo, str(mesa.id_planilla),
                             mesa.escuela]),
            "cod_datos": self.mesa.cod_datos,
        }

        config = Config(["imaging"], mesa.cod_datos)
        usar_qr = config.val("usar_qr")
        # Generamos el QR que va a ir en el acta.
        qr_img = self.a_qr_b64_encoded(grupo_cat) if usar_qr else None
        # Y armamos la imagen.
        imagen = ImagenActa(titulo, datos, qr=qr_img, recuento=self,
                            grupo_cat=grupo_cat, de_muestra=de_muestra,
                            verificador=verif)

        if svg:
            rendered = imagen.render_svg()
        else:
            rendered = imagen.render_image()

        # Devolvemos la imagen en el formato solicitado.
        return rendered
示例#4
0
    def a_imagen(self, tipo=None, de_muestra=False, svg=False):
        """Devuelve la imagen para imprimir recuento.

        Argumentos:
        tipo -- una tupla con el tipo de acta y el id_de grupo de categorias.
            Puede ser None si no no queremos agrupar.
        de_muestra --  es la imagen que no se imprime, que se muestra en
            pantalla.
        svg -- Devuelve un svg si True, en caso contrario un objeto PIL.Image
        """
        if tipo is None:
            tipo = (CIERRE_RECUENTO, None)

        # Muestra el icono del verificador en la boleta. Si no tiene chip en el
        # documento en el que imprimimos no imprimirmos el verificador.
        verif = True
        # Por defecto no tenemos titulo, a menos que el tipo de acta tenga
        # titulo.
        titulo = ""
        leyenda = None

        # Internamente todas las actas son iguales, lo que cambia es el texto
        # que se imprime, pero el acta una vez serializada no sabe cual es.
        if tipo[0] == CIERRE_RECUENTO:
            # El acta de cierre.
            titulo = _("titulo_recuento")
            leyenda = _("no_insertar_en_urna")
        elif tipo[0] == CIERRE_TRANSMISION:
            # El acta de transmision.
            titulo = _("titulo_transmision")
            leyenda = _("no_insertar_en_urna")
        elif tipo[0] == CIERRE_CERTIFICADO or tipo[0] == CIERRE_ESCRUTINIO:
            # El certificado de escrutinio.
            titulo = _("titulo_certificado")
            verif = False
        elif tipo[0] == CIERRE_COPIA_FIEL:
            # Una copia fiel del certificado. (Certificado sin datos desc_mesa
            # autoridades)
            titulo = _("titulo_copia_fiel")
            verif = False
        grupo_cat = tipo[1]

        # Establecemos las autoridades para los templates del texto del acta,
        # los cuales hacen diferencia entre el presidente y los suplentes.
        try:
            presidente = self.autoridades[0]
        except IndexError:
            presidente = ""
        suplentes = [
            sup for sup in self.autoridades[1:] if sup.nro_documento != 0
        ]

        mesa = self.mesa
        # Armamos los datos para el texto.
        datos = {
            'presidente': presidente,
            'suplentes': suplentes,
            'cantidad_suplentes': len(suplentes),
            'mesa': mesa.numero,
            'escuela': mesa.escuela,
            'municipio': mesa.municipio,
            'departamento': mesa.departamento,
            'horas': "%02d" % self.hora.get('horas', "") \
                if self.hora is not None else "",
            'minutos': "%02d" % self.hora.get('minutos', "")
                if self.hora is not None else "",
            'mostrar_texto': self.hora is not None,
            'leyenda': leyenda,
            'pie': "|".join([mesa.codigo, str(mesa.id_planilla),
                             mesa.escuela]),
            "cod_datos": self.mesa.cod_datos,
        }

        config = Config(["imaging"], mesa.cod_datos)
        usar_qr = config.val("usar_qr")
        # Generamos el QR que va a ir en el acta.
        qr_img = self.a_qr_b64_encoded(grupo_cat) if usar_qr else None
        # Y armamos la imagen.
        imagen = ImagenActa(titulo,
                            datos,
                            qr=qr_img,
                            recuento=self,
                            grupo_cat=grupo_cat,
                            de_muestra=de_muestra,
                            verificador=verif)

        if svg:
            rendered = imagen.render_svg()
        else:
            rendered = imagen.render_image()

        # Devolvemos la imagen en el formato solicitado.
        return rendered