The unified diff between revisions [455efdbb..] and [e94fdd3f..] is displayed below. It can also be downloaded as a raw diff.
#
#
# patch "mifare.py"
# from [c5e94d81f17816ea1cf476a6f883e7f1d7de4c15]
# to [cf6486313163353b16b0a553a71932b547b15c90]
#
============================================================
--- mifare.py c5e94d81f17816ea1cf476a6f883e7f1d7de4c15
+++ mifare.py cf6486313163353b16b0a553a71932b547b15c90
@@ -38,6 +38,8 @@ class MIFAREReader:
self.address = '\x00\x00'
def _get_absolute_block(self, vector):
+ if not isinstance(vector, tuple) or len(vector) != 2:
+ raise ValueError, 'Inappropriate sector/block vector'
if vector[0] < 32:
return vector[0] * 4 + vector[1]
else:
@@ -126,8 +128,12 @@ class MIFAREReader:
return
- def read_block(self, blocknum):
- pass
+ def read_block(self, blockvect):
+ "Read the 16-byte block at vector (sector, block)."
+ block = self.get_absolute_block(blockvect)
+
+ result = self.send_packet('\x08\x02' + chr(block))
+ return result[3:19]
def write_block(self, blocknum, data):
pass