ccid.py should not stop when an error occurs

This commit is contained in:
Christina Quast
2015-03-10 17:58:54 +01:00
parent 32a90ac660
commit dba7b16b98

View File

@@ -1,4 +1,5 @@
import sys import sys
import traceback
from pySim.commands import SimCardCommands from pySim.commands import SimCardCommands
from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid
@@ -19,41 +20,60 @@ def pySim_read():
print("Reading ...") print("Reading ...")
# EF.ICCID # EF.ICCID
try:
(res, sw) = scc.read_binary(['3f00', '2fe2']) (res, sw) = scc.read_binary(['3f00', '2fe2'])
if sw == '9000': if sw == '9000':
print("ICCID: %s" % (dec_iccid(res),)) print("ICCID: %s" % (dec_iccid(res),))
else: else:
print("ICCID: Can't read, response code = %s" % (sw,)) print("ICCID: Can't read, response code = %s" % (sw,))
except:
print("Unexpected error:", sys.exc_info()[0])
print(traceback.format_exc())
# EF.IMSI # EF.IMSI
try:
(res, sw) = scc.read_binary(['3f00', '7f20', '6f07']) (res, sw) = scc.read_binary(['3f00', '7f20', '6f07'])
if sw == '9000': if sw == '9000':
print("IMSI: %s" % (dec_imsi(res),)) print("IMSI: %s" % (dec_imsi(res),))
else: else:
print("IMSI: Can't read, response code = %s" % (sw,)) print("IMSI: Can't read, response code = %s" % (sw,))
except:
print("Unexpected error:", sys.exc_info()[0])
print(traceback.format_exc())
# EF.SMSP # EF.SMSP
try:
(res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1) (res, sw) = scc.read_record(['3f00', '7f10', '6f42'], 1)
if sw == '9000': if sw == '9000':
print("SMSP: %s" % (res,)) print("SMSP: %s" % (res,))
else: else:
print("SMSP: Can't read, response code = %s" % (sw,)) print("SMSP: Can't read, response code = %s" % (sw,))
except:
print("Unexpected error:", sys.exc_info()[0])
print(traceback.format_exc())
# EF.HPLMN # EF.HPLMN
# (res, sw) = scc.read_binary(['3f00', '7f20', '6f30']) try:
# if sw == '9000': (res, sw) = scc.read_binary(['3f00', '7f20', '6f30'])
# print("HPLMN: %s" % (res)) if sw == '9000':
# print("HPLMN: %s" % (dec_hplmn(res),)) print("HPLMN: %s" % (res))
# else: print("HPLMN: %s" % (dec_hplmn(res),))
# print("HPLMN: Can't read, response code = %s" % (sw,)) else:
# FIXME print("HPLMN: Can't read, response code = %s" % (sw,))
except:
print("Unexpected error:", sys.exc_info()[0])
print(traceback.format_exc())
# EF.ACC # EF.ACC
try:
(res, sw) = scc.read_binary(['3f00', '7f20', '6f78']) (res, sw) = scc.read_binary(['3f00', '7f20', '6f78'])
if sw == '9000': if sw == '9000':
print("ACC: %s" % (res,)) print("ACC: %s" % (res,))
else: else:
print("ACC: Can't read, response code = %s" % (sw,)) print("ACC: Can't read, response code = %s" % (sw,))
except:
print("Unexpected error:", sys.exc_info()[0])
print(traceback.format_exc())
# EF.MSISDN # EF.MSISDN
try: try:
@@ -67,7 +87,7 @@ def pySim_read():
else: else:
print("MSISDN: Can't read, response code = %s" % (sw,)) print("MSISDN: Can't read, response code = %s" % (sw,))
except: except:
prin#t("MSISDN: Can't read. Probably not existing file") print("MSISDN: Can't read. Probably not existing file, error: ", sys.exc_info()[0])
print(traceback.format_exc())
# Done for this card and maybe for everything ?
print("Done !\n") print("Done !\n")