]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
refactored client/pm3_*.py to use with statements, contants and iterators
authordn337t@gmail.com <dn337t@gmail.com@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Fri, 22 Jun 2012 12:02:19 +0000 (12:02 +0000)
committerdn337t@gmail.com <dn337t@gmail.com@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Fri, 22 Jun 2012 12:02:19 +0000 (12:02 +0000)
client/pm3_eml2mfd.py
client/pm3_mfd2eml.py

index c583d26788115fbb72444ca7b70874e232d4f386..5f9e7b2331d412a1992c3e26a3f08a6061355747 100644 (file)
@@ -6,6 +6,7 @@
 # Converts PM3 Mifare Classic emulator EML text file to MFD binary dump file
 '''
 
+from __future__ import with_statement
 import sys
 import binascii
 
@@ -14,22 +15,13 @@ def main(argv):
     if argc < 3:
         print 'Usage:', argv[0], 'input.eml output.mfd'
         sys.exit(1)
-
-    try:
-        file_inp = open(argv[1], "r")
-        file_out = open(argv[2], "wb")
-        line = file_inp.readline()
-        while line:
-            line = line.rstrip('\n')
-            line = line.rstrip('\r')
+    
+    with file(argv[1], "r") as file_inp, file(argv[2], "wb") as file_out:
+        for line in file_inp:
+            line = line.rstrip('\n').rstrip('\r')
             print line
             data = binascii.unhexlify(line)
             file_out.write(data)
-            line = file_inp.readline()
-
-    finally:
-        file_inp.close()
-        file_out.close()
 
 if __name__ == '__main__':
     main(sys.argv)
index 5c5dc4dd215f2fa2c75a4ec85d6a9cd7484225f6..44d60e7d6ba6b4777ecbda8199fe29367829bbbb 100644 (file)
@@ -6,31 +6,26 @@
 # Converts PM3 Mifare Classic MFD binary dump file to emulator EML text file
 '''
 
+from __future__ import with_statement
 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)
 
-    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")
-    
-    finally:
-        file_inp.close()
-        file_out.close()
 
 if __name__ == '__main__':
     main(sys.argv)
Impressum, Datenschutz