[Pcsclite-cvs-commit] r3327 - /website/matrix.py

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Wed Feb 25 17:19:30 UTC 2009


Author: rousseau
Date: Wed Feb 25 17:19:30 2009
New Revision: 3327

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3327
Log:
check all readers are listed

Modified:
    website/matrix.py

Modified: website/matrix.py
URL: http://svn.debian.org/wsvn/pcsclite/website/matrix.py?rev=3327&op=diff
==============================================================================
--- website/matrix.py (original)
+++ website/matrix.py Wed Feb 25 17:19:30 2009
@@ -17,13 +17,14 @@
 #    with this program; if not, write to the Free Software Foundation, Inc.,
 #    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
+import glob
+import os
 
-def parse_reader(reader):
+def parse_reader(path, reader):
     """
     parse a reader CCID descriptor and return a dictionnary
     """
     reader_dict = {}
-    path = "../trunk/Drivers/ccid/readers/"
     reader_file = open(path+reader)
     for line in reader_file.readlines():
         line = line[0:-1]
@@ -33,25 +34,50 @@
     reader_file.close()
     return reader_dict
 
-def parse_all(list):
+def parse_all(path, reader_list):
+    """
+    parse each reader from list
+    return a dictionnary
+    """
     readers = {}
-    list_file = open(list)
-    for reader in list_file.readlines():
-        # remove trailing \n
-        reader = reader[0:-1]
-        p = parse_reader(reader)
+    for reader in reader_list:
+        p = parse_reader(path, reader)
         readers[reader] = p
-    list_file.close()
 
     return readers
+
+def check_list(path, reader_list):
+    cwd = os.getcwd()
+    os.chdir(path)
+    real_list = glob.glob("*.txt")
+    os.chdir(cwd)
+
+    # check that each reader file is listed
+    print real_list
+    for r in reader_list:
+        print "remove ", r
+        try:
+            real_list.remove(r)
+        except:
+            print "reader %s not yet listed" % r
+    print real_list
+
 
 if __name__ == "__main__":
     # one foobar.txt per line
     list = "readers.txt"
+    path = "../trunk/Drivers/ccid/readers/"
 
-    readers = parse_all(list)
+    list_file = open(list)
+    # remove trailing \n
+    reader_list = [ r.rstrip('\n') for r in list_file.readlines() ]
+    list_file.close()
+
+    check_list(path, reader_list)
+    readers = parse_all(path, reader_list)
     for r in readers.keys():
         #print readers[r]
-        print readers[r]["iManufacturer"]
-        print readers[r]["dwMaxCCIDMessageLength"]
+        #print readers[r]["iManufacturer"]
+        #print readers[r]["dwMaxCCIDMessageLength"]
+        pass
 




More information about the Pcsclite-cvs-commit mailing list