]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/pm3_mfd2eml.py
USB CDC patch by jonor to enable working under kernel 2.6.27
[proxmark3-svn] / client / pm3_mfd2eml.py
index 5c5dc4dd215f2fa2c75a4ec85d6a9cd7484225f6..44d60e7d6ba6b4777ecbda8199fe29367829bbbb 100644 (file)
@@ -6,31 +6,26 @@
 # Converts PM3 Mifare Classic MFD binary dump file to emulator EML text file
 '''
 
 # Converts PM3 Mifare Classic MFD binary dump file to emulator EML text file
 '''
 
+from __future__ import with_statement
 import sys
 import binascii
 
 import sys
 import binascii
 
+READ_BLOCKSIZE = 16
+
 def main(argv):
     argc = len(argv)
     if argc < 3:
         print 'Usage:', argv[0], 'input.mfd output.eml'
         sys.exit(1)
 
 def main(argv):
     argc = len(argv)
     if argc < 3:
         print 'Usage:', argv[0], 'input.mfd output.eml'
         sys.exit(1)
 
-    try:
-        file_inp = open(argv[1], "rb")
-        file_out = open(argv[2], "w")
-        
-        while 1:
-            # TODO: need to use defines instead of hardcoded 16, 64, etc.
-            byte_s = file_inp.read(16)
+    with file(argv[1], "rb") as file_inp, file(argv[2], "w") as file_out:
+        while True:
+            byte_s = file_inp.read(READ_BLOCKSIZE)
             if not byte_s:
                 break
             hex_char_repr = binascii.hexlify(byte_s)
             file_out.write(hex_char_repr)
             file_out.write("\n")
             if not byte_s:
                 break
             hex_char_repr = binascii.hexlify(byte_s)
             file_out.write(hex_char_repr)
             file_out.write("\n")
-    
-    finally:
-        file_inp.close()
-        file_out.close()
 
 if __name__ == '__main__':
     main(sys.argv)
 
 if __name__ == '__main__':
     main(sys.argv)
Impressum, Datenschutz