Beispiel #1
0
def get_constants():
        translations = ("si", "no", "ver_qr",
            "alto_contraste", "muchas_gracias", "puede_retirar_boleta",
            "si_desea_verificarlo", "imprimiendo_voto", "no_retirar_boleta",
            "agradecimiento", "cancelar", "volver_al_inicio", "salir",
            "terminar_escrutinio", "aceptar", "boletas_procesadas",
            "escrutinio_mesa", "iniciar_instructivo", "finalizar_instructivo",
            "bienvenida_recuento", "boleta_unica_electronica",
            "caracteristicas_pantalla", "slide_2_titulo", "slide_2_contenido",
            "slide_3_subtitulo", "slide_3_recuadro_1", "slide_3_recuadro_2",
            "slide_3_recuadro_3", "slide_4_subtitulo", "slide_4_recuadro_1",
            "slide_5_subtitulo", "slide_5_recuadro_1", "slide_6_titulo",
            "slide_6_subtitulo", "presione_imprimir", "fiscales_qr",
            "introduzca_acta_transmision", "introduzca_cerfificado_escrutinio",
            "asegurese_firmar_acta", "introduzca_certificado_boletas",
            "slide_2_bullet_1", "slide_2_bullet_2", "slide_2_bullet_3",
            "introduzca_sobre_actas", "slide_3_bullet_1", "slide_3_bullet_2",
            "slide_3_bullet_3", "slide_3_bullet_4", "slide_3_bullet_5",
            "entregue_certif_transmision", "el_suplente_acercara",
            "introduzca_certificados_para_fiscales", "usted_puede_imprimir",
            "introduzca_acta_cierre_nuevamente")
        encabezado = get_config('datos_eleccion')

        constants_dict = {
            "juego_de_datos": JUEGO_DE_DATOS,
            "cod_lista_blanco": COD_LISTA_BLANCO,
            "elecciones_internas": get_tipo_elec("interna"),
            "elecciones_paso": get_tipo_elec("paso"),
            "mostrar_cursor": MOSTRAR_CURSOR,
            "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
            "i18n": [(trans, _(trans)) for trans in translations],
            "palabra_lista": _("palabra_lista"),
            "palabra_nombre": _("palabra_nombre"),
            "palabra_categoria": _("palabra_categoria"),
            "palabra_siguiente": _("palabra_siguiente"),
            "palabra_anterior": _("palabra_anterior"),
            "palabra_imprimir": _("palabra_imprimir"),
            "terminar_escrutinio": _("terminar_escrutinio"),
            "terminar": _("terminar"),
            "salir": _("salir"),
            "sus_candidatos": _("sus_candidatos"),
            "candidato_no_seleccionado": _("candidato_no_seleccionado"),
            "cod_estado_espera": RECUENTO_NO_TAG,
            "cod_estado_ok": RECUENTO_OK,
            "cod_boleta_repetida": RECUENTO_ERROR_REPETIDO,
            "cod_error_lectura": RECUENTO_ERROR,
            "usar_qr": USAR_QR,
            "usa_armve": USA_ARMVE,
            "ext_img_voto": EXT_IMG_VOTO,
            "effects": EFECTOS_RECUENTO,
            "flavor": FLAVOR,
            "templates": get_templates(),
            "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
            "CIERRE_ESCRUTINIO": CIERRE_ESCRUTINIO,
            "CIERRE_TRANSMISION": CIERRE_TRANSMISION,
            "listas_especiales": get_config("listas_especiales"),
            "cod_estado_imprimiendo": RECUENTO_IMPRIMIENDO,
            "cod_estado_generando": RECUENTO_GENERANDO
        }
        return constants_dict
Beispiel #2
0
def get_constants():
    translations = (
        "si", "no", "ver_qr", "introduzca_acta_cierre", "alto_contraste",
        "muchas_gracias", "puede_retirar_boleta", "si_desea_verificarlo",
        "imprimiendo_voto", "no_retirar_boleta", "agradecimiento", "cancelar",
        "volver_al_inicio", "salir", "terminar_escrutinio", "aceptar",
        "boletas_procesadas", "escrutinio_mesa", "iniciar_instructivo",
        "finalizar_instructivo", "bienvenida_recuento",
        "boleta_unica_electronica", "caracteristicas_pantalla",
        "slide_2_titulo", "slide_2_contenido", "slide_3_subtitulo",
        "slide_3_recuadro_1", "slide_3_recuadro_2", "slide_3_recuadro_3",
        "slide_4_subtitulo", "slide_4_recuadro_1", "slide_5_subtitulo",
        "slide_5_recuadro_1", "slide_6_titulo", "slide_6_subtitulo",
        "presione_imprimir", "fiscales_qr", "introduzca_acta_transmision",
        "introduzca_cerfificado_escrutinio", "asegurese_firmar_acta",
        "introduzca_certificado_boletas", "slide_2_bullet_1",
        "slide_2_bullet_2", "slide_2_bullet_3", "introduzca_sobre_actas",
        "slide_3_bullet_1", "slide_3_bullet_2", "slide_3_bullet_3",
        "slide_3_bullet_4", "slide_3_bullet_5", "entregue_certif_transmision",
        "el_suplente_acercara", "introduzca_certificados_para_fiscales",
        "usted_puede_imprimir")
    encabezado = get_config('datos_eleccion')

    constants_dict = {
        "juego_de_datos": JUEGO_DE_DATOS,
        "cod_lista_blanco": COD_LISTA_BLANCO,
        "elecciones_internas": get_tipo_elec("interna"),
        "elecciones_paso": get_tipo_elec("paso"),
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "palabra_lista": _("palabra_lista"),
        "palabra_nombre": _("palabra_nombre"),
        "palabra_categoria": _("palabra_categoria"),
        "palabra_siguiente": _("palabra_siguiente"),
        "palabra_anterior": _("palabra_anterior"),
        "palabra_imprimir": _("palabra_imprimir"),
        "terminar_escrutinio": _("terminar_escrutinio"),
        "terminar": _("terminar"),
        "salir": _("salir"),
        "sus_candidatos": _("sus_candidatos"),
        "candidato_no_seleccionado": _("candidato_no_seleccionado"),
        "cod_estado_espera": RECUENTO_NO_TAG,
        "cod_estado_ok": RECUENTO_OK,
        "cod_boleta_repetida": RECUENTO_ERROR_REPETIDO,
        "cod_error_lectura": RECUENTO_ERROR,
        "usar_qr": USAR_QR,
        "usa_armve": USA_ARMVE,
        "ext_img_voto": EXT_IMG_VOTO,
        "effects": EFECTOS_RECUENTO,
        "flavor": FLAVOR,
        "templates": get_templates(),
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
        "CIERRE_ESCRUTINIO": CIERRE_ESCRUTINIO,
        "CIERRE_TRANSMISION": CIERRE_TRANSMISION,
        "listas_especiales": get_config("listas_especiales"),
        "cod_estado_imprimiendo": RECUENTO_IMPRIMIENDO,
        "cod_estado_generando": RECUENTO_GENERANDO
    }
    return constants_dict
Beispiel #3
0
    def __init__(self, mesa, autoridades=None, hora=None):
        if autoridades is None:
            autoridades = []

        self.__dict_candidatos = None
        self.autoridades = autoridades
        self.mesa = mesa
        self.cod_categoria = None

        self.hora = hora # si hora es None no se muestra el texto del acta
        _campos_extra = get_config("campos_extra")
        self.campos_extra = dict(zip(_campos_extra, [0] * len(_campos_extra)))
        _lst_esp = get_config("listas_especiales")
        self.listas_especiales = dict(zip(_lst_esp, [0] * len(_lst_esp)))

        self.reiniciar_resultados()
Beispiel #4
0
    def get_campos_extra(self):
        campos_extra = []
        campos_extra.append({
            "codigo": "",
            "titulo": _("boletas_procesadas"),
            "editable": False,
            "valor": sesion.recuento.boletas_contadas()
        })

        for lista in get_config("listas_especiales"):
            campos_extra.append({
                "codigo":
                lista,
                "titulo":
                _("titulo_votos_%s" % lista[-3:]),
                "editable":
                True,
                "valor":
                sesion.recuento.listas_especiales[lista]
            })

        total = 0
        for campo in campos_extra:
            total += campo.get('valor', 0)
        campos_extra.append({
            "codigo": COD_TOTAL,
            "titulo": _("total_general"),
            "editable": False,
            "valor": total
        })
        return campos_extra
Beispiel #5
0
def get_constants():
    translations = ("titulo_menu", "totalizacion",
                    "apertura_de_mesa", "sistema_boleta_electronica",
                    "cierre_y_escrutinio", "reiniciar", "version_demo",
                    "votacion_asistida", "expulsar_boleta", "salir",
                    "mesa", "mantenimiento", "auto", "manual", "rfid",
                    "titulo_mantenimiento", "volumen", "brillo",
                    "gestion_energia", "version_firmware", "chequeo_rfid",
                    "volver_al_inicio", "potencia_rfid", "temperatura",
                    "iniciar_chequeo", "modo_ventilador", "no_hay_tag",
                    "descripcion_chequeo_rfid", "cargando", "expulsar_cd",
                    "estado_pir", "pir_prendido", "pir_apagado", "pir",
                    "cancelar", "pir_activado", "pir_desactivado",
                    "chequeo_cd", "prueba_impresora", "aceptar",
                    "reset_devices", "modo_autofeed", "seleccione_boleta",
                    "edicion_2013", "edicion_2015", "autodetectar",
                    "calidad_impresion")
    encabezado = get_config('datos_eleccion')
    niveles_impresion = [PRINT_SLOW, PRINT_LOW, PRINT_MID, PRINT_HIGH,
                         PRINT_SHIGH]

    constants_dict = {
        "juego_de_datos": JUEGO_DE_DATOS,
        "mostrar_cursor": MOSTRAR_CURSOR,
        "intervalo_refresco": INTERVALO_REFRESCO,
        "intervalo_refresco_bateria": INTERVALO_REFRESCO_BATERIA,
        "tiempo_desactivacion_chequeo": TIEMPO_DESACTIVACION_CHEQUEO,
        "niveles_impresion": niveles_impresion,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "effects": EFECTOS_ADMIN,
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
        "usa_armve": USA_ARMVE,
    }
    return constants_dict
Beispiel #6
0
    def __init__(self, mesa, autoridades=None, hora=None):
        if autoridades is None:
            autoridades = []

        self.__dict_candidatos = None
        self.autoridades = autoridades
        self.mesa = mesa
        self.cod_categoria = None

        self.hora = hora # si hora es None no se muestra el texto del acta
        _campos_extra = get_config("campos_extra")
        self.campos_extra = dict(zip(_campos_extra, [0] * len(_campos_extra)))
        _lst_esp = get_config("listas_especiales")
        self.listas_especiales = dict(zip(_lst_esp, [0] * len(_lst_esp)))

        self.reiniciar_resultados()
Beispiel #7
0
def get_constants():
    translations = ("seleccion_ubicacion_demo", )
    encabezado = get_config('datos_eleccion')

    constants_dict = {
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO
    }
    return constants_dict
Beispiel #8
0
def get_constants():
    translations = ("seleccion_ubicacion_demo",)
    encabezado = get_config("datos_eleccion")

    constants_dict = {
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
    }
    return constants_dict
Beispiel #9
0
def get_constants():
    translations = ("calibrar", "apagar", "cancelar_apagado",
                    "bienvenido", "presente_credencial_acta")
    encabezado = get_config('datos_eleccion')

    constants_dict = {
        "juego_de_datos": JUEGO_DE_DATOS,
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
        "effects": EFECTOS_INICIO}
    return constants_dict
Beispiel #10
0
    def get_campos_extra(self):
        campos_extra = []
        campos_extra.append({"codigo": "",
                             "titulo": _("boletas_procesadas"),
                             "editable": False,
                             "valor": sesion.recuento.boletas_contadas()})

        for lista in get_config("listas_especiales"):
            campos_extra.append(
                {"codigo": lista,
                 "titulo": _("titulo_votos_%s" % lista[-3:]),
                 "editable": False,
                 "valor": sesion.recuento.listas_especiales[lista]})

        return campos_extra
Beispiel #11
0
    def _get_titulos(self):
        datos = get_config('datos_eleccion')
        titulo = (self.medidas_boleta['margen_izq'] +
                  self.medidas_boleta['titulo'][0],
                  self.medidas_boleta['titulo'][1],
                  datos["titulo"].encode("utf8"),
                  self.medidas_boleta['fs_titulo'],
                  self.medidas_boleta['alto_boleta'])

        subtitulo = (self.medidas_boleta['margen_izq'] +
                     self.medidas_boleta['subtitulo'][0],
                     self.medidas_boleta['subtitulo'][1],
                     datos["subtitulo"].encode("utf8"),
                     self.medidas_boleta['fs_subtitulo'],
                     self.medidas_boleta['alto_boleta'])

        return titulo, subtitulo
Beispiel #12
0
def get_constants(ubicacion=None):
    translations = ("conformar_voto", "si", "votar_por_categorias",
                    "votar_lista_completa", "su_seleccion", "votar_en_blanco",
                    "confirmar_voto", "alto_contraste", "introduzca_boleta",
                    "si_tiene_dudas", "su_voto_impreso", "no",
                    "muchas_gracias", "puede_retirar_boleta",
                    "si_desea_verificarlo", "imprimiendo_voto",
                    "no_retirar_boleta", "agradecimiento", "este_es_su_voto",
                    "volver_al_inicio", "aguarde_unos_minutos",
                    "seleccionar_idioma", "aceptar", "cancelar",
                    "confirmar_seleccion", "cargando_interfaz",
                    "espere_por_favor", "verificando_voto")

    encabezado = get_config('datos_eleccion')

    constants_dict = {
        "juego_de_datos": JUEGO_DE_DATOS,
        "ubicacion": ubicacion,
        "cod_lista_blanco": COD_LISTA_BLANCO,
        "elecciones_internas": get_tipo_elec("interna"),
        "elecciones_paso": get_tipo_elec("paso"),
        "agrupar_por_partido": AGRUPAR_POR_PARTIDO,
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "palabra_lista": _("lista"),
        "sus_candidatos": _("sus_candidatos"),
        "candidato_no_seleccionado": _("candidato_no_seleccionado"),
        "usa_armve": USA_ARMVE,
        "ext_img_voto": EXT_IMG_VOTO,
        "effects": EFECTOS_VOTO,
        "flavor": FLAVOR,
        "templates": get_templates(),
        "numeros_templates": NUMEROS_TEMPLATES[FLAVOR],
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
        "ADHESION_SEGMENTADA": get_tipo_elec("adh_segmentada"),
        "USAR_BUFFER_IMPRESION": USAR_BUFFER_IMPRESION,
        "COLAPSAR_LISTAS_PASO": get_tipo_elec("colapsar_listas"),
        "COLAPSAR_INTERNAS_PASO": get_tipo_elec("colapsar_partidos"),
        "BARRA_SELECCION": BARRA_SELECCION,
        "asistida": False,
    }
    return constants_dict
Beispiel #13
0
    def _get_titulos(self):
        datos = get_config('datos_eleccion')
        texto_titulo = "%s - %s" % (datos['titulo'].encode("utf8"),
                                    datos['subtitulo'].encode("utf8"))
        titulo = (self.medidas_boleta['margen_izq'] +
                  self.medidas_boleta['titulo'][0],
                  self.medidas_boleta['titulo'][1], texto_titulo,
                  self.medidas_boleta['fs_titulo'],
                  self.medidas_boleta['alto_boleta'])

        texto_subtitulo = "%s - %s" % (datos['entidad'].encode("utf8"),
                                       self.seleccion.mesa.comuna)
        subtitulo = (self.medidas_boleta['margen_izq'] +
                     self.medidas_boleta['subtitulo'][0],
                     self.medidas_boleta['subtitulo'][1], texto_subtitulo,
                     self.medidas_boleta['fs_subtitulo'],
                     self.medidas_boleta['alto_boleta'])

        return titulo, subtitulo
Beispiel #14
0
def get_constants(ubicacion=None):
    translations = (
        "conformar_voto", "si",
        "votar_por_categorias", "votar_lista_completa", "su_seleccion",
        "votar_en_blanco", "confirmar_voto", "alto_contraste",
        "introduzca_boleta", "si_tiene_dudas", "su_voto_impreso", "no",
        "muchas_gracias", "puede_retirar_boleta", "si_desea_verificarlo",
        "imprimiendo_voto", "no_retirar_boleta", "agradecimiento",
        "este_es_su_voto", "volver_al_inicio", "aguarde_unos_minutos",
        "seleccionar_idioma", "aceptar", "cancelar", "confirmar_seleccion",
        "cargando_interfaz", "espere_por_favor", "verificando_voto")

    encabezado = get_config('datos_eleccion')

    constants_dict = {
        "juego_de_datos": JUEGO_DE_DATOS,
        "ubicacion": ubicacion,
        "cod_lista_blanco": COD_LISTA_BLANCO,
        "elecciones_internas": get_tipo_elec("interna"),
        "elecciones_paso": get_tipo_elec("paso"),
        "agrupar_por_partido": AGRUPAR_POR_PARTIDO,
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "palabra_lista": _("lista"),
        "sus_candidatos": _("sus_candidatos"),
        "candidato_no_seleccionado": _("candidato_no_seleccionado"),
        "usa_armve": USA_ARMVE,
        "ext_img_voto": EXT_IMG_VOTO,
        "effects": EFECTOS_VOTO,
        "flavor": FLAVOR,
        "templates": get_templates(),
        "numeros_templates": NUMEROS_TEMPLATES[FLAVOR],
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
        "ADHESION_SEGMENTADA": get_tipo_elec("adh_segmentada"),
        "USAR_BUFFER_IMPRESION": USAR_BUFFER_IMPRESION,
        "COLAPSAR_LISTAS_PASO": get_tipo_elec("colapsar_listas"),
        "COLAPSAR_INTERNAS_PASO": get_tipo_elec("colapsar_partidos"),
        "BARRA_SELECCION": BARRA_SELECCION,
        "asistida": False,
    }
    return constants_dict
Beispiel #15
0
def get_constants():
    #TODO: ver cuáles de estas constantes son realmente necesarias en
    # las pantallas de interaccion
    translations = ("muchas_gracias", "titulo_segundo_suplente",
                    "introduzca_acta_apertura", "puede_retirar_boleta",
                    "no_retirar_boleta", "agradecimiento",
                    "aguarde_unos_minutos", "aceptar", "cancelar",
                    "introduzca_acta_cierre", "ingrese_datos_solicitados",
                    "ingrese_numero_mesa", "confirmar", "ingrese_numero_pin",
                    "confirma_datos_correctos", "hora_invalida", "titulo_hora",
                    "titulo_minutos", "titulo_apellido", "titulo_nombre",
                    "titulo_documento", "titulo_presidente", "titulo_suplente",
                    "retire_acta_apertura", "acta_contiene_informacion",
                    "volver_al_inicio", "aguarde_procesando_acta",
                    "aguarde_configurando_mesa", "apertura_no_almacenada",
                    "papel_no_puesto", "acta_apertura_mesa")
    encabezado = get_config('datos_eleccion')
    mensajes_error = ("hora_invalida", "hora_incompleta", "largo_invalido",
                      "autoridades_invalidas", "autoridades_incompletas",
                      "mesa_pin_incorrectos", "documentos_invalidos",
                      "documentos_numeros_invalidos")

    constants_dict = {
        "juego_de_datos": JUEGO_DE_DATOS,
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "tipo_doc": [(TIPO_DOC.index(tipo), tipo) for tipo in TIPO_DOC],
        "mensajes_error":
        dict([(trans, _(trans)) for trans in mensajes_error]),
        "usa_armve": USA_ARMVE,
        "ext_img_voto": EXT_IMG_VOTO,
        "effects": EFECTOS_VOTO,
        "flavor": FLAVOR,
        "cantidad_suplentes": CANTIDAD_SUPLENTES,
        "usa_tildes": USA_TILDES,
        "templates": get_templates(),
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
        "USAR_BUFFER_IMPRESION": USAR_BUFFER_IMPRESION,
    }
    return constants_dict
Beispiel #16
0
 def get_db_for_mesa(self, mesa):
     try:
         conn = get_test_connection()
         cur = conn.cursor()
         sql = """SELECT id_cargo,
                         id_candidatura,
                         votos_definitivos
                  FROM planillas_det
                  WHERE id_planilla = %s
                        AND id_candidatura NOT IN %s
         """
         cur.execute(sql, (mesa.id_planilla,
                           tuple(get_config("listas_especiales"))))
         data = cur.fetchall()
         result_dict = {}
         for datum in data:
             key = str(datum[1] if datum[1] != -1 else "%s_BLC" % datum[0])
             key = key.rjust(3, "0")
             result_dict[(unicode(datum[0]), unicode(key))] = datum[2]
     except Exception, e:
         logger.debug(e)
Beispiel #17
0
    def _get_titulos(self):
        datos = get_config('datos_eleccion')
        texto_titulo = "%s - %s" % (datos['titulo'].encode("utf8"),
                                    datos['subtitulo'].encode("utf8"))
        titulo = (self.medidas_boleta['margen_izq'] +
                  self.medidas_boleta['titulo'][0],
                  self.medidas_boleta['titulo'][1],
                  texto_titulo,
                  self.medidas_boleta['fs_titulo'],
                  self.medidas_boleta['alto_boleta'])

        texto_subtitulo = "%s - %s" % (datos['entidad'].encode("utf8"),
                                       self.seleccion.mesa.comuna)
        subtitulo = (self.medidas_boleta['margen_izq'] +
                     self.medidas_boleta['subtitulo'][0],
                     self.medidas_boleta['subtitulo'][1],
                     texto_subtitulo,
                     self.medidas_boleta['fs_subtitulo'],
                     self.medidas_boleta['alto_boleta'])

        return titulo, subtitulo
Beispiel #18
0
    def a_string(self):
        len_cods = get_config("len_cod")

        len_cod_mesa = ("%d" % len(self.mesa.cod_datos)).zfill(2)
        if self.interna:
            datos_interna = self.interna.codigo.rjust(len_cods["interna"])
        else:
            datos_interna = ' ' * len_cods["interna"]

        categorias = []
        for c in sorted(self._candidatos, key=lambda c: c.cod_categoria):
            categoria = Container(
                cod_categoria=c.cod_categoria.rjust(len_cods["categoria"]),
                cod_candidatura=c.codigo_clean().rjust(len_cods["candidato"]))
            categorias.append(categoria)

        container = Container(len_ubic=len_cod_mesa,
                              ubicacion=self.mesa.cod_datos,
                              cod_interna=datos_interna,
                              voto_categoria=categorias)
        built = struct_voto.build(container)
        return built
Beispiel #19
0
    def get_campos_extra(self):
        campos_extra = []
        campos_extra.append({"codigo": "",
                             "titulo": _("boletas_procesadas"),
                             "editable": False,
                             "valor": sesion.recuento.boletas_contadas()})

        for lista in get_config("listas_especiales"):
            campos_extra.append(
                {"codigo": lista,
                 "titulo": _("titulo_votos_%s" % lista[-3:]),
                 "editable": True,
                 "valor": sesion.recuento.listas_especiales[lista]})

        total = 0
        for campo in campos_extra:
            total += campo.get('valor', 0)
        campos_extra.append({"codigo": COD_TOTAL,
                             "titulo": _("total_general"),
                             "editable": False,
                             "valor": total})
        return campos_extra
Beispiel #20
0
 def get_db_for_mesa(self, mesa):
     try:
         conn = get_test_connection()
         cur = conn.cursor()
         sql = """SELECT id_cargo,
                         id_candidatura,
                         votos_definitivos
                  FROM planillas_det
                  WHERE id_planilla = %s
                        AND id_candidatura NOT IN %s
         """
         cur.execute(
             sql,
             (mesa.id_planilla, tuple(get_config("listas_especiales"))))
         data = cur.fetchall()
         result_dict = {}
         for datum in data:
             key = str(datum[1] if datum[1] != -1 else "%s_BLC" % datum[0])
             key = key.rjust(3, "0")
             result_dict[(unicode(datum[0]), unicode(key))] = datum[2]
     except Exception, e:
         logger.debug(e)
Beispiel #21
0
    def a_string(self):
        len_cods = get_config("len_cod")

        len_cod_mesa = ("%d" % len(self.mesa.cod_datos)).zfill(2)
        if self.interna:
            datos_interna = self.interna.codigo.rjust(len_cods["interna"])
        else:
            datos_interna = ' ' * len_cods["interna"]

        categorias = []
        for c in sorted(self._candidatos, key=lambda c: c.cod_categoria):
            categoria = Container(
                cod_categoria=c.cod_categoria.rjust(len_cods["categoria"]),
                cod_candidatura=c.codigo_clean().rjust(len_cods["candidato"]))
            categorias.append(categoria)

        container = Container(len_ubic=len_cod_mesa,
                              ubicacion=self.mesa.cod_datos,
                              cod_interna=datos_interna,
                              voto_categoria=categorias)
        built = struct_voto.build(container)
        return built
Beispiel #22
0
    def get_campos_extra(self):
        campos_extra = []
        campos_extra.append({
            "codigo": "",
            "titulo": _("boletas_procesadas"),
            "editable": False,
            "valor": sesion.recuento.boletas_contadas()
        })

        for lista in get_config("listas_especiales"):
            campos_extra.append({
                "codigo":
                lista,
                "titulo":
                _("titulo_votos_%s" % lista[-3:]),
                "editable":
                False,
                "valor":
                sesion.recuento.listas_especiales[lista]
            })

        return campos_extra
Beispiel #23
0
def get_constants():
    #TODO: ver cuáles de estas constantes son realmente necesarias en
    # las pantallas de interaccion
    translations = (
        "muchas_gracias", "titulo_segundo_suplente", "introduzca_acta_apertura",
        "puede_retirar_boleta", "no_retirar_boleta", "agradecimiento",
        "aguarde_unos_minutos", "aceptar", "cancelar", "introduzca_acta_cierre",
        "ingrese_datos_solicitados", "ingrese_numero_mesa", "confirmar",
        "ingrese_numero_pin", "confirma_datos_correctos", "hora_invalida",
        "titulo_hora", "titulo_minutos", "titulo_apellido", "titulo_nombre",
        "titulo_documento", "titulo_presidente", "titulo_suplente",
        "retire_acta_apertura", "acta_contiene_informacion", "volver_al_inicio",
        "aguarde_procesando_acta", "aguarde_configurando_mesa",
        "apertura_no_almacenada", "papel_no_puesto", "acta_apertura_mesa")
    encabezado = get_config('datos_eleccion')
    mensajes_error = ("hora_invalida", "hora_incompleta", "largo_invalido",
                      "autoridades_invalidas", "autoridades_incompletas",
                      "mesa_pin_incorrectos", "documentos_invalidos",
                      "documentos_numeros_invalidos")

    constants_dict = {
        "juego_de_datos": JUEGO_DE_DATOS,
        "mostrar_cursor": MOSTRAR_CURSOR,
        "encabezado": [(texto, encabezado[texto]) for texto in encabezado],
        "i18n": [(trans, _(trans)) for trans in translations],
        "tipo_doc": [(TIPO_DOC.index(tipo), tipo) for tipo in TIPO_DOC],
        "mensajes_error": dict([(trans, _(trans)) for trans in mensajes_error]),
        "usa_armve": USA_ARMVE,
        "ext_img_voto": EXT_IMG_VOTO,
        "effects": EFECTOS_VOTO,
        "flavor": FLAVOR,
        "cantidad_suplentes": CANTIDAD_SUPLENTES,
        "usa_tildes": USA_TILDES,
        "templates": get_templates(),
        "PATH_TEMPLATES_VOTO": "file:///%s/" % PATH_TEMPLATES_VOTO,
        "USAR_BUFFER_IMPRESION": USAR_BUFFER_IMPRESION,
    }
    return constants_dict
Beispiel #24
0
 def set_campos_extra(self, campos_recuento):
     for lista in get_config("listas_especiales"):
         sesion.recuento.actualizar_lista_especial(lista,
                                                   campos_recuento[lista])
Beispiel #25
0
    def _get_tabla(self, width):
        ret = {}
        empujar_firmas = 0
        lineas = []
        # muestro la tabla solo si tiene recuento
        mostrar_partidos = False  #any([lista.cod_partido for lista in Lista.all()])
        if self.categoria is None:
            categorias = Categoria.many(sorted="posicion")
        else:
            categorias = Categoria.many(codigo=self.categoria)

        dx = 10

        # ancho genérico de columnas
        ancho_col = 40 * self.zoom
        # calculo ancho columna descripción
        w = width - dx * 2 - len(categorias) * ancho_col
        w = w - ancho_col           # resto ancho col. nº de lista
        Y_INICIAL = 420 if not self.de_muestra else 180
        y2 = Y_INICIAL
        lineas.append((y2 * self.zoom, self.margin_left, self.margin_right))

        filas = []
        # listas ordenadas por numero, con blanco al final
        listas = [l for l in Lista.many(sorted='cod_partido, numero')
                  if not l.es_blanco()]

        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)

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

        if get_tipo_elec("paso"):
            listas = sorted(listas, _sort_listas_paso)
        else:
            listas = sorted(listas, _sort_listas)

        lista_blanca = Lista.one(COD_LISTA_BLANCO)
        if lista_blanca is not None:
            listas.append(lista_blanca)
        partido_actual = None
        num_listas = 0
        guiones = ["-"] * (len(categorias) + 1)

        principales = self.recuento._get_dict_candidatos()

        for lista in listas:
            lista_partido = False
            partido = lista.partido
            es_blanco = lista.es_blanco()
            if mostrar_partidos and not es_blanco and \
                    partido_actual != lista.cod_partido:
                partido_actual = lista.cod_partido
                if num_listas == 0:
                    filas = filas[:-1]
                else:
                    num_listas = 0
                una_lista = num_listas == 0 and len(partido.listas) == 1
                if una_lista or partido.nombre == lista.nombre:
                    lista_partido = True
                else:
                    fila = [partido.nombre] + guiones
                    filas.append(fila)
                    lista_partido = False

            es_cand_consulta = lista.candidatos[0].cod_categoria == "CPO"
            numero = lista.numero if lista.numero != "BLC" and \
                not es_cand_consulta else ""
            nombre_lista = lista.nombre if not lista_partido \
                else partido.nombre
            if es_cand_consulta:
                nombre_lista = "Consulta Popular - " + nombre_lista
            if not es_blanco and not lista_partido and get_tipo_elec("paso"):
                nombre_lista = "-- " + nombre_lista
            fila = [nombre_lista, numero]
            for categoria in categorias:
                candidato = principales.get((lista.codigo, categoria.codigo))
                resultado = "- "
                if candidato is not None:
                    resultado = self.recuento.obtener_resultado(
                        categoria.codigo, candidato.codigo)
                fila.append(resultado)
            num_listas += 1
            filas.append(fila)

        empujar_firmas += len(filas) * 23

        # Armando tabla superior
        x = self.margin_left
        y = (400 if not self.de_muestra else 160) * self.zoom
        ancho_columnas = [w, ancho_col] + [ancho_col] * len(categorias)
        titulo_columnas = [_("palabra_lista"), "Nº"] + \
            [cat.codigo for cat in categorias]
        columnas = []
        for i, titulo in enumerate(titulo_columnas):
            columna = [titulo]
            for fila in filas:
                max_chars = ancho_columnas[i] * 80 / 800
                data = fila[i] if i > 0 else fila[i][:max_chars]
                columna.append(data)
            columnas.append((columna, x, y, ancho_columnas[i]))
            x += ancho_columnas[i]

        ret['alto_rectangulo'] = len(filas) * 23
        ret['tabla'] = columnas

        titulo_columnas = ["Cod.", _("palabra_categoria"), "N°"]
        w = width - dx * 2 - ancho_col * 3
        ancho_columnas = [ancho_col, w, ancho_col]
        y2 = 435 if not self.de_muestra else 193
        lineas.append((y2 * self.zoom + empujar_firmas, self.margin_left,
                       self.margin_right))

        valores_especiales = []
        for lista_esp in get_config("listas_especiales"):
            _cod_esp = lista_esp.split(".")[-1]
            valores_especiales.append(
                (_cod_esp, _("titulo_votos_%s" % _cod_esp),
                 self.recuento.listas_especiales[lista_esp]))

        general = self.recuento.boletas_contadas()
        general += sum(self.recuento.listas_especiales.values())
        valores_especiales.append((COD_TOTAL, _("total_general"), general))

        x = self.margin_left
        y += empujar_firmas + 30

        columnas = []
        for i, titulo in enumerate(titulo_columnas):
            columna = [titulo]
            for fila in valores_especiales:
                columna.append(fila[i])
            columnas.append((columna, x, y, ancho_columnas[i]))
            x += ancho_columnas[i]
        ret['alto_rectangulo_especiales'] = len(valores_especiales) * 23
        ret['tabla_especiales'] = columnas
        empujar_firmas += len(valores_especiales) * 23

        ret['lineas'] = lineas
        return ret, empujar_firmas
Beispiel #26
0
from construct import GreedyRange, Bytes, Struct, UBInt8, UBInt16, Array, Embed, If

from msa.core import get_config

len_cods = get_config("len_cod")
if len_cods is None:
    len_cods = {}

struct_voto = Struct(
    "voto",
    Bytes("len_ubic", 2),
    Bytes("ubicacion", lambda ctx: int(ctx.len_ubic)),
    Bytes("cod_interna", len_cods.get("interna")),
    GreedyRange(
        Struct(
            "voto_categoria",
            Bytes("cod_categoria", len_cods.get("categoria")),
            Bytes("cod_candidatura", len_cods.get("candidato")),
        )
    ),
)

struct_recuento = Struct(
    "Recuento",
    Bytes("por_categoria", 1),
    If(lambda ctx: ctx.por_categoria == "1", Bytes("cod_categoria", len_cods.get("categoria"))),
    GreedyRange(Bytes("datos", 1)),
)
struct_recuento_dni = Struct("Recuento con dni", Array(7, Bytes("documentos", 1)), Embed(struct_recuento))

struct_apertura = Struct(
Beispiel #27
0
from construct import GreedyRange, Bytes, Struct, UBInt8, UBInt16, Array, \
    Embed, If

from msa.core import get_config

len_cods = get_config("len_cod")
if len_cods is None:
    len_cods = {}

struct_voto = Struct(
    "voto", Bytes("len_ubic", 2),
    Bytes("ubicacion", lambda ctx: int(ctx.len_ubic)),
    Bytes("cod_interna", len_cods.get('interna')),
    GreedyRange(
        Struct("voto_categoria",
               Bytes("cod_categoria", len_cods.get('categoria')),
               Bytes("cod_candidatura", len_cods.get('candidato')))))

struct_recuento = Struct(
    "Recuento", Bytes("por_categoria", 1),
    If(lambda ctx: ctx.por_categoria == "1",
       Bytes("cod_categoria", len_cods.get('categoria'))),
    GreedyRange(Bytes("datos", 1)))
struct_recuento_dni = Struct(
    "Recuento con dni",
    Array(11, Bytes("documentos", 1)),
    Embed(struct_recuento),
)

struct_apertura = Struct(
    "Apertura",
Beispiel #28
0
 def set_campos_extra(self, campos_recuento):
     for lista in get_config("listas_especiales"):
         sesion.recuento.actualizar_lista_especial(lista,
                                                   campos_recuento[lista])
Beispiel #29
0
    def _get_tabla(self, width):
        ret = {}
        empujar_firmas = 0
        lineas = []
        # muestro la tabla solo si tiene recuento
        mostrar_partidos = False  #any([lista.cod_partido for lista in Lista.all()])
        if self.categoria is None:
            categorias = Categoria.many(sorted="posicion")
        else:
            categorias = Categoria.many(codigo=self.categoria)

        dx = 10

        # ancho genérico de columnas
        ancho_col = 40 * self.zoom
        # calculo ancho columna descripción
        w = width - dx * 2 - len(categorias) * ancho_col
        w = w - ancho_col  # resto ancho col. nº de lista
        Y_INICIAL = 420 if not self.de_muestra else 180
        y2 = Y_INICIAL
        lineas.append((y2 * self.zoom, self.margin_left, self.margin_right))

        filas = []
        # listas ordenadas por numero, con blanco al final
        listas = [
            l for l in Lista.many(sorted='cod_partido, numero')
            if not l.es_blanco()
        ]

        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)

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

        if get_tipo_elec("paso"):
            listas = sorted(listas, _sort_listas_paso)
        else:
            listas = sorted(listas, _sort_listas)

        lista_blanca = Lista.one(COD_LISTA_BLANCO)
        if lista_blanca is not None:
            listas.append(lista_blanca)
        partido_actual = None
        num_listas = 0
        guiones = ["-"] * (len(categorias) + 1)

        principales = self.recuento._get_dict_candidatos()

        for lista in listas:
            lista_partido = False
            partido = lista.partido
            es_blanco = lista.es_blanco()
            if mostrar_partidos and not es_blanco and \
                    partido_actual != lista.cod_partido:
                partido_actual = lista.cod_partido
                if num_listas == 0:
                    filas = filas[:-1]
                else:
                    num_listas = 0
                una_lista = num_listas == 0 and len(partido.listas) == 1
                if una_lista or partido.nombre == lista.nombre:
                    lista_partido = True
                else:
                    fila = [partido.nombre] + guiones
                    filas.append(fila)
                    lista_partido = False

            es_cand_consulta = lista.candidatos[0].cod_categoria == "CPO"
            numero = lista.numero if lista.numero != "BLC" and \
                not es_cand_consulta else ""
            nombre_lista = lista.nombre if not lista_partido \
                else partido.nombre
            if es_cand_consulta:
                nombre_lista = "Consulta Popular - " + nombre_lista
            if not es_blanco and not lista_partido and get_tipo_elec("paso"):
                nombre_lista = "-- " + nombre_lista
            fila = [nombre_lista, numero]
            for categoria in categorias:
                candidato = principales.get((lista.codigo, categoria.codigo))
                resultado = "- "
                if candidato is not None:
                    resultado = self.recuento.obtener_resultado(
                        categoria.codigo, candidato.codigo)
                fila.append(resultado)
            num_listas += 1
            filas.append(fila)

        empujar_firmas += len(filas) * 23

        # Armando tabla superior
        x = self.margin_left
        y = (400 if not self.de_muestra else 160) * self.zoom
        ancho_columnas = [w, ancho_col] + [ancho_col] * len(categorias)
        titulo_columnas = [_("palabra_lista"), "Nº"] + \
            [cat.codigo for cat in categorias]
        columnas = []
        for i, titulo in enumerate(titulo_columnas):
            columna = [titulo]
            for fila in filas:
                max_chars = ancho_columnas[i] * 80 / 800
                data = fila[i] if i > 0 else fila[i][:max_chars]
                columna.append(data)
            columnas.append((columna, x, y, ancho_columnas[i]))
            x += ancho_columnas[i]

        ret['alto_rectangulo'] = len(filas) * 23
        ret['tabla'] = columnas

        titulo_columnas = ["Cod.", _("palabra_categoria"), "N°"]
        w = width - dx * 2 - ancho_col * 3
        ancho_columnas = [ancho_col, w, ancho_col]
        y2 = 435 if not self.de_muestra else 193
        lineas.append((y2 * self.zoom + empujar_firmas, self.margin_left,
                       self.margin_right))

        valores_especiales = []
        for lista_esp in get_config("listas_especiales"):
            _cod_esp = lista_esp.split(".")[-1]
            valores_especiales.append(
                (_cod_esp, _("titulo_votos_%s" % _cod_esp),
                 self.recuento.listas_especiales[lista_esp]))

        general = self.recuento.boletas_contadas()
        general += sum(self.recuento.listas_especiales.values())
        valores_especiales.append((COD_TOTAL, _("total_general"), general))

        x = self.margin_left
        y += empujar_firmas + 30

        columnas = []
        for i, titulo in enumerate(titulo_columnas):
            columna = [titulo]
            for fila in valores_especiales:
                columna.append(fila[i])
            columnas.append((columna, x, y, ancho_columnas[i]))
            x += ancho_columnas[i]
        ret['alto_rectangulo_especiales'] = len(valores_especiales) * 23
        ret['tabla_especiales'] = columnas
        empujar_firmas += len(valores_especiales) * 23

        ret['lineas'] = lineas
        return ret, empujar_firmas