Ejemplo n.º 1
0
    def test_getPlaylistNameAsByteArray(self):
        playlist = Playlist("bla")
        (header, data) = playlist.asByteArray(16)
        self.assertEqual(len(data), 1, "Should contain one byte array")

        row = data[0]
        self.assertEqual(len(row), 16, "complete row should be written")
Ejemplo n.º 2
0
def writeToCard(reader):
    print("File found" + WRITE_CARD_FILE)

    config = configparser.RawConfigParser()
    config.read(WRITE_CARD_FILE)

    playlist = Playlist(config.get('Card', 'playlist'))
    random = config.get('Card', 'random')

    print("Playlist name is " + str(playlist))

    writeData = [
        int("0x13", 0),
        int("0x37", 0),
        int("0xb3", 0),
        int("0x47", 0)
    ]

    writeData.append(2)  # Version 2
    writeData.append(0)  # For version it was the  folder

    if (random.lower() in ['true', '1', 't', 'y', 'yes']):
        writeData.append(1)  # Random value
    else:
        writeData.append(0)

        # Fill the data with 0x00
    for x in range(len(writeData), 16):
        writeData.append(0)

    print("Sector 4 will now be filled with HeaderData. Length = " +
          str(len(writeData)) + " Data: " + str(writeData))
    # Write the data
    reader.MFRC522_Write(4, writeData)

    (header, playlistData) = playlist.asByteArray(16)

    print("The playlistname " + str(playlist) + " has a length of " +
          str(len(playlist)))
    print("Will write " + str(len(playlistData)) + " data blocks to card")

    dataBlockIdx = 5
    for block in playlistData:
        print("Sector " + str(dataBlockIdx) +
              " will now be filled with data: " + str(block))
        reader.MFRC522_Write(dataBlockIdx, block)
        dataBlockIdx += 1
        if (dataBlockIdx > 6 or dataBlockIdx % 4 == 3):
            break

    os.remove(WRITE_CARD_FILE)