fileystem: fix ADF selection

When the ADF is selected, then this is done by the AID. At the moment
only the first 7 bytes of the AID are used to select the ADF.
sysmo-isim-sja2 tolerates this, but sysmo-usim-sjs1 does not. The Cards
class already has methods to deal with this problem. The method
select_adf_by_aid takes an ADF name and completes the AID from an
internal list. This can be extended to support partial hexadecimal AIDs
as well.

Change-Id: If99b143ae5ff42a889c52e8023084692e709e1b1
Related: OS#4963
diff --git a/pySim-read.py b/pySim-read.py
index 7906685..638bd4b 100755
--- a/pySim-read.py
+++ b/pySim-read.py
@@ -251,7 +251,8 @@
 
 	# Check whether we have th AID of USIM, if so select it by its AID
 	# EF.UST - File Id in ADF USIM : 6f38
-	if '9000' == card.select_adf_by_aid():
+	data, sw = card.select_adf_by_aid(adf="usim")
+	if sw == '9000':
 		# Select USIM profile
 		usim_card = UsimCard(scc)
 
@@ -300,7 +301,8 @@
 			print("ePDGSelection: Can't read file -- " + str(e))
 
 	# Select ISIM application by its AID
-	if '9000' == card.select_adf_by_aid(adf="isim"):
+	data, sw = card.select_adf_by_aid(adf="isim")
+	if sw == '9000':
 		# Select USIM profile
 		isim_card = IsimCard(scc)
 
@@ -352,7 +354,8 @@
 
 	# Check whether we have th AID of ISIM, if so select it by its AID
 	# EF.IST - File Id in ADF ISIM : 6f07
-	if '9000' == card.select_adf_by_aid(adf="isim"):
+	data, sw = card.select_adf_by_aid(adf="isim")
+	if sw == '9000':
 		# EF.IST
 		(res, sw) = card.read_binary('6f07')
 		if sw == '9000':