def get_map(self): """Devuelve el mapa completo del tag.""" response = self.parent.rfid.get_tags()[0] dmp = [] if response is not None and response['number'] == 1: serial = response['serial_number'][0] retries = 5 bloques = [] while retries > 0: rfid_data = self.parent.rfid.read_blocks( serial, 0, BLOQUES_TAG - 1) if rfid_data is None or rfid_data[3] == MSG_ERROR: retries -= 1 continue retries = 0 for block in rfid_data[0]: bloques.extend(block['bytes']) for i in range(0, BLOQUES_TAG): offset = i * 4 bloque = bloques[offset:offset + 4] hexa = array_to_printable_string(bloque, ' ') hexa2 = hexa3 = '' for c in bloque: # Me fijo si es imprimible if c >= 32 and c <= 126: hexa2 += chr(c) else: hexa2 += '.' hexa3 += str(c).zfill(3) + ' ' dmp.append('Block %02d: %s | %s | %s' % (i, hexa, hexa2, hexa3)) return dumps(dmp)
def get_map(self): response = self.parent.rfid.get_tags()[0] dmp = [] if response is not None and response['number'] == 1: serial = array_to_string(response['serial_number'][0]) retries = 5 bloques = [] while retries > 0: rfid_data = self.parent.rfid.read_blocks(serial, 0, 27) if rfid_data is None or rfid_data[3] == MSG_ERROR: retries -= 1 continue retries = 0 for block in rfid_data[0]: bloques.extend(block['bytes']) for i in range(0, 28): offset = i * 4 bloque = bloques[offset:offset + 4] hexa = array_to_printable_string(bloque, ' ') hexa2 = hexa3 = '' for c in bloque: # Me fijo si es imprimible if c >= 32 and c <= 126: hexa2 += chr(c) else: hexa2 += '.' hexa3 += str(c).zfill(3) + ' ' dmp.append('Block %02d: %s | %s | %s' % (i, hexa, hexa2, hexa3)) return dumps(dmp, encoding='latin-1')
def _get_normalized_serial(self, serial): """ Dado un numero de serie de chip en un lista de decimales, devuelve el mismo en string formateado. In: [224, 4, 1, 0, 126, 33, 8, 141] Out: "E00401007E21088D" """ #return "".join([hex(x)[2:].zfill(2).upper() for x in serial]) return array_to_printable_string(serial)
def _get_normalized_serial(self, serial): """ Dado un numero de serie de chip en un lista de decimales, devuelve el mismo en string formateado. In: [224, 4, 1, 0, 126, 33, 8, 141] Out: "E00401007E21088D" """ #return "".join([hex(x)[2:].zfill(2).upper() for x in serial]) return array_to_printable_string(serial)
def a_qr_str(self, cod_categoria=None, con_dnis=True): """Devuelve la informacion del recuento para almacenar en qr.""" # tipo de qr # cod_mesa encoded_data = string_to_array(self.a_tag(cod_categoria, con_dnis)) datos = [int(TOKEN, 16), len(encoded_data) * 2] datos.extend(encoded_data) todo = "R" + array_to_printable_string(datos) return todo
def a_qr_str(self, cod_categoria=None, con_dnis=True): """Devuelve la informacion del recuento para almacenar en qr.""" # tipo de qr # cod_mesa encoded_data = string_to_array(self.a_tag(cod_categoria, con_dnis)) datos = [int(TOKEN, 16), len(encoded_data) * 2] datos.extend(encoded_data) todo = "R" + array_to_printable_string(datos) return todo