[Pcsclite-cvs-commit] r6870 - website

ludovic.rousseau at free.fr ludovic.rousseau at free.fr
Sun Mar 9 19:46:36 UTC 2014


Author: rousseau
Date: 2014-03-09 19:46:36 +0000 (Sun, 09 Mar 2014)
New Revision: 6870

Modified:
   website/matrix.py
Log:
Add support of readers with more than 2 CCID interfaces

The Watchdata W5181 reader has 3 CCID interfaces


Modified: website/matrix.py
===================================================================
--- website/matrix.py	2014-03-08 16:16:37 UTC (rev 6869)
+++ website/matrix.py	2014-03-09 19:46:36 UTC (rev 6870)
@@ -105,11 +105,15 @@
         for interface in interfaces:
             parse = parse_interface(interface)
             if reader in readers:
-                # second interface
-                readers[reader]['features'].append("Multi interface reader")
+                # second (or more) interface
+                interface = 1
+                while reader + "_i%d" % interface in readers:
+                    interface += 1
+                if interface < 2:
+                    readers[reader]['features'].append("Multi interface reader, interface 0")
                 parse['features'].append("Multi interface reader")
-                parse['features'].append("Second interface")
-                readers[reader + "_i1"] = parse
+                parse['features'].append("interface %d" % interface)
+                readers[reader + "_i%d" % interface] = parse
             else:
                 readers[reader] = parse
 
@@ -134,7 +138,7 @@
         try:
             option = config.options(reader)
         except ConfigParser.NoSectionError:
-            # second interface, remove "_i1" extension
+            # second (or more) interface, remove "_i1" extension
             reader_source = reader[:-3]
 
         for option in config.options(reader_source):
@@ -183,8 +187,8 @@
     for reader in reader_list:
         #print "remove ", reader
 
-        # skip the second interface
-        if '_i1' in reader:
+        # skip the second (or more) interface
+        if reader[:-1].endswith("_i"):
             continue
 
         try:
@@ -365,8 +369,8 @@
     """
     search a log line containing the reader string
     """
-    # second interface, remove the '_i1' extension
-    if '_i1' in reader:
+    # second (or more) interface, remove the '_i1' extension
+    if reader[:-1].endswith("_i"):
         reader = reader[:-3]
 
     found = None
@@ -425,7 +429,7 @@
                 idProduct=readers[reader]['idProduct'],
                 image="img/" + readers[reader].get('image', "no_image.png"))
 
-            if '_i1' in reader:
+            if reader[:-1].endswith("_i"):
                 reader_txt = reader[:-3]
             else:
                 reader_txt = reader




More information about the Pcsclite-cvs-commit mailing list