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)
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)
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
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
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
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)
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("")
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
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)
def _inner(self, *args, **kwargs): current_data_code(self.data_code) return f(self, *args, **kwargs)
def setmesa(self, value): self._mesa = value if self._mesa: self._mesa.usar_cod_datos() else: current_data_code(None)
def usar_cod_datos(self): current_data_code(self.cod_datos)
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()
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)
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())
def thread2_test(data_code): current_data_code(data_code) print("data code 3", get_current_data_code())