예제 #1
0
파일: clases.py 프로젝트: Charlyzzz/vot.ar
    def desde_string(cls, tag, mesa=None):
        datos_tag = struct_voto.parse(tag)

        if mesa is not None:
            # verificamos la mesa
            if mesa.cod_datos != datos_tag.ubicacion:
                raise MesaIncorrecta()
        else:
            #OJO: ESTO trae cualquier mesa del juego de datos
            mesa = Ubicacion.one(cod_datos=datos_tag.ubicacion)
            current_data_code(datos_tag.ubicacion)

        if datos_tag.cod_interna != "":
            interna = Partido.one(datos_tag.cod_interna)
        else:
            interna = None

        candidatos = []
        for elem in datos_tag.voto_categoria:
            cod_categoria = elem["cod_categoria"].strip()
            cod_candidato = elem["cod_candidatura"].strip()

            if cod_candidato == COD_LISTA_BLANCO:
                candidato = Candidato.one(codigo__endswith=cod_candidato,
                                          cod_categoria=cod_categoria)
            else:
                candidato = Candidato.one(codigo__endswith="." + cod_candidato,
                                          cod_categoria=cod_categoria)
            candidatos.append(candidato)

        return Seleccion(mesa, None, candidatos)
예제 #2
0
파일: clases.py 프로젝트: sunzu/vot.ar
    def desde_string(cls, tag, mesa=None):
        datos_tag = struct_voto.parse(tag)

        if mesa is not None:
            # verificamos la mesa
            if mesa.cod_datos != datos_tag.ubicacion:
                raise MesaIncorrecta()
        else:
            #OJO: ESTO trae cualquier mesa del juego de datos
            mesa = Ubicacion.one(cod_datos=datos_tag.ubicacion)
            current_data_code(datos_tag.ubicacion)

        candidatos = []
        for elem in datos_tag.voto_categoria:
            cod_categoria = elem["cod_categoria"].strip()
            cod_candidato = elem["cod_candidatura"].strip()

            if cod_candidato == COD_LISTA_BLANCO:
                candidato = Candidato.one(codigo__endswith=cod_candidato,
                                          cod_categoria=cod_categoria)
            else:
                candidato = Candidato.one(codigo__endswith="." + cod_candidato,
                                          cod_categoria=cod_categoria)
            candidatos.append(candidato)

        return Seleccion(mesa, None, candidatos)
예제 #3
0
파일: clases.py 프로젝트: Charlyzzz/vot.ar
    def desde_tag(cls, tag, con_dnis=True):
        if con_dnis:
            struct = struct_recuento_dni
        else:
            struct = struct_recuento
        datos_tag = struct.parse(tag)
        por_categoria = int(datos_tag.por_categoria)
        cod_categoria = datos_tag.cod_categoria

        if SMART_PACKING:
            num_mesa, valores = unpack("".join(datos_tag.datos))
            mesa = Ubicacion.one(numero=str(num_mesa))
        else:
            tag = "".join(datos_tag.datos)
            len_cod_mesa = int(tag[:2])
            cod_mesa = tag[2:2 + len_cod_mesa]
            mesa = Ubicacion.one(cod_mesa)
            valores = unpack(tag[len_cod_mesa + 2:])

        if not mesa:
            raise MesaNoEncontrada()

        current_data_code(mesa.cod_datos)

        if por_categoria:
            categorias = Categoria.many(codigo=cod_categoria)
        else:
            categorias = Categoria.many(sorted='codigo')

        recuento = Recuento(mesa)
        principales = recuento._get_dict_candidatos()
        # leemos los valores y los seteamos en los resultados
        # vienen ordenados por cod_lista,cod_categoria
        for lista in Lista.many(sorted='codigo'):
            for categoria in categorias:
                candidato = Candidato.one(cod_categoria=categoria.codigo,
                                          cod_lista=lista.codigo, titular=True,
                                          numero_de_orden=1)
                if candidato is not None:
                    recuento._resultados[categoria.codigo,
                                         candidato.codigo] = valores.pop(0)

        ordered_keys = sorted(recuento.campos_extra.keys())
        for key in ordered_keys:
            recuento.campos_extra[key] = valores.pop(0)

        ordered_keys = sorted(recuento.listas_especiales.keys())
        for key in ordered_keys:
            recuento.listas_especiales[key] = valores.pop(0)

        if por_categoria:
            recuento.cod_categoria = cod_categoria

        if con_dnis:
            dnis = unpack_slow(datos_tag.documentos, 27)
            for dni in dnis:
                autoridad = Autoridad("", "", 0, dni)
                recuento.autoridades.append(autoridad)

        return recuento
예제 #4
0
파일: clases.py 프로젝트: sunzu/vot.ar
    def desde_tag(cls, tag, con_dnis=True):
        if con_dnis:
            struct = struct_recuento_dni
        else:
            struct = struct_recuento
        datos_tag = struct.parse(tag)
        por_categoria = int(datos_tag.por_categoria)
        cod_categoria = datos_tag.cod_categoria

        if SMART_PACKING:
            num_mesa, valores = unpack("".join(datos_tag.datos))
            mesa = Ubicacion.one(numero=str(num_mesa))
        else:
            tag = "".join(datos_tag.datos)
            len_cod_mesa = int(tag[:2])
            cod_mesa = tag[2:2 + len_cod_mesa]
            mesa = Ubicacion.one(cod_mesa)
            valores = unpack(tag[len_cod_mesa + 2:])

        if not mesa:
            raise MesaNoEncontrada()

        current_data_code(mesa.cod_datos)

        if por_categoria:
            categorias = Categoria.many(codigo=cod_categoria)
        else:
            categorias = Categoria.many(sorted='codigo')

        recuento = Recuento(mesa)
        principales = recuento._get_dict_candidatos()
        # leemos los valores y los seteamos en los resultados
        # vienen ordenados por cod_lista,cod_categoria
        for lista in Lista.many(sorted='codigo'):
            for categoria in categorias:
                candidato = principales.get((lista.codigo,
                                             categoria.codigo))
                if candidato is not None:
                    recuento._resultados[categoria.codigo,
                                         candidato.codigo] = valores.pop(0)

        ordered_keys = sorted(recuento.campos_extra.keys())
        for key in ordered_keys:
            recuento.campos_extra[key] = valores.pop(0)

        ordered_keys = sorted(recuento.listas_especiales.keys())
        for key in ordered_keys:
            recuento.listas_especiales[key] = valores.pop(0)

        if por_categoria:
            recuento.cod_categoria = cod_categoria

        if con_dnis:
            dnis = unpack_slow(datos_tag.documentos, 27)
            for dni in dnis:
                autoridad = Autoridad("", "", 0, dni)
                recuento.autoridades.append(autoridad)

        return recuento
예제 #5
0
def get_categorias(cod_datos, desglosada):
    if desglosada:
        current_data_code(cod_datos)
        categorias = [(c.codigo, c.nombre, c.posicion) for c in
                      Categoria.many(sorted="posicion")]
    else:
        categorias = None

    return categorias
예제 #6
0
파일: test.py 프로젝트: sunzu/vot.ar
def buffer_file_cmp(printer, file_name):
    current_data_code("EJ.01.01")
    mesa = Ubicacion.one(codigo="EJ.01.01.01.01")
    boleta = Seleccion(mesa)
    boleta.elegir_lista(Lista.one())
    img = boleta.a_imagen()
    img = img.output()

    img = img.transpose(Image.ROTATE_90)
    data = img.getdata()

    printer.load_buffer_compressed(data)
예제 #7
0
파일: test.py 프로젝트: Goblab/vot.ar
def buffer_file_cmp(printer, file_name):
    current_data_code("EJ.01.01")
    mesa = Ubicacion.one(codigo="EJ.01.01.01.01")
    boleta = Seleccion(mesa)
    boleta.elegir_lista(Lista.one())
    img = boleta.a_imagen()
    img = img.output()

    img = img.transpose(Image.ROTATE_90)
    data = img.getdata()

    printer.load_buffer_compressed(data)
예제 #8
0
    def test_read_all_from_datasource_not_in_root(self):
        """Testing read all the data from datasource with data not in root."""
        current_data_code("alternative")
        class Person2(Person):
            data_in_root = False
            plural_name = "Persons"

        expected = {'1': {'id': '1', 'name': 'Jhon'},
                    '2': {'id': '2', 'name': 'Paul'},
                    '3': {'id': '3', 'name': 'George'},
                    '4': {'id': '4', 'name': 'Ringo'}}

        elements = Person2._read_all_from_datasource()

        self.assertEqual(expected, elements)
        current_data_code("")
예제 #9
0
def get_estado_mesas(id_ubicacion, acta_desglosada=False):
    """
        Recibe un id_ubicación de un establecimiento y devuelve los datos
        en el formato del server.
        [id_planilla, estado, numero_mesa, sexo, codigo_ubicacion]
        @TODO: Ver actas desglosadas.
    """
    mesas = []
    for u in Ubicacion.many(clase='Mesa',
                            codigo__startswith=id_ubicacion + '.'):
        datos_mesa = [[u.id_planilla, "Espera", u.numero, None, u.codigo]]
        if acta_desglosada:
            current_data_code(u.cod_datos)
            for c in Categoria.all():
                datos_mesa.append([c.codigo, c.nombre, c.posicion])
        mesas.append(datos_mesa)
    return mesas
예제 #10
0
 def change_data_code(self, data_code):
     if data_code == 'Root':
         data_code = ''
     current_data_code(data_code)
     self.data_code = data_code
     return redirect(request.referrer)
예제 #11
0
 def _inner(self, *args, **kwargs):
     current_data_code(self.data_code)
     return f(self, *args, **kwargs)
예제 #12
0
파일: __init__.py 프로젝트: bauna/vot.ar
 def setmesa(self, value):
     self._mesa = value
     if self._mesa:
         self._mesa.usar_cod_datos()
     else:
         current_data_code(None)
예제 #13
0
 def change_data_code(self, data_code):
     if data_code == 'Root':
         data_code = ''
     current_data_code(data_code)
     self.data_code = data_code
     return redirect(request.referrer)
예제 #14
0
 def usar_cod_datos(self):
     current_data_code(self.cod_datos)
예제 #15
0
 def _inner(self, *args, **kwargs):
     current_data_code(self.data_code)
     return f(self, *args, **kwargs)
예제 #16
0
파일: chiptest.py 프로젝트: sunzu/vot.ar
from base64 import b64encode
from time import sleep
from serial import Serial
from random import choice

from ojota import current_data_code

from msa.core.armve.settings import SERIAL_PORT
from msa.core.armve.protocol import  RFID, FanCoolers
from msa.core.rfid.constants import TAG_APERTURA
from msa.core.settings import TOKEN
from msa.core.clases import Recuento, Seleccion
from msa.core.data import Ubicacion, Lista
from msa.core.armve.helpers import array_to_string

current_data_code("SA0101")


def init_channel():
    channel = Serial(SERIAL_PORT, timeout=0.2)
    if not channel.isOpen():
        channel.open()
    channel.flushInput()
    channel.flushOutput()
    return channel

def get_tag():
    mesa = Ubicacion.get(numero="1001")
    recuento = Recuento(mesa)
    seleccion = Seleccion(mesa)
    listas = Lista.all()
예제 #17
0
파일: __init__.py 프로젝트: bauna/vot.ar
 def usar_cod_datos(self):
     current_data_code(self.cod_datos)
예제 #18
0
 def test_data_code(self):
     """Testing the current_data_code function."""
     expected = "data_code_1"
     current_data_code(expected)
     result = Ojota.get_current_data_code()
     self.assertEqual(expected, result)
예제 #19
0
 def thread1_test(data_code):
     current_data_code(data_code)
     print("data code 1", get_current_data_code())
     sleep(1)
     print("data code 2", get_current_data_code())
예제 #20
0
 def setmesa(self, value):
     self._mesa = value
     if self._mesa:
         self._mesa.usar_cod_datos()
     else:
         current_data_code(None)
예제 #21
0
 def thread2_test(data_code):
     current_data_code(data_code)
     print("data code 3", get_current_data_code())