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

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Tue Apr 16 09:28:17 UTC 2013


Author: rousseau
Date: Tue Apr 16 09:28:17 2013
New Revision: 6607

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=6607
Log:
Manage multi-interface readers as multiple readers

Modified:
    website/matrix.py

Modified: website/matrix.py
URL: http://svn.debian.org/wsvn/pcsclite/website/matrix.py?rev=6607&op=diff
==============================================================================
--- website/matrix.py (original)
+++ website/matrix.py Tue Apr 16 09:28:17 2013
@@ -107,8 +107,9 @@
             if reader in readers:
                 # second interface
                 readers[reader]['features'].append("Multi interface reader")
+                parse['features'].append("Multi interface reader")
                 parse['features'].append("Second interface")
-                readers[reader]['interface'] = parse
+                readers[reader + "_i1"] = parse
             else:
                 readers[reader] = parse
 
@@ -129,12 +130,19 @@
     for reader in readers.keys():
         readers[reader]['section'] = section
 
-        for option in config.options(reader):
+        reader_source = reader
+        try:
+            option = config.options(reader)
+        except ConfigParser.NoSectionError:
+            # second interface, remove "_i1" extension
+            reader_source = reader[:-3]
+
+        for option in config.options(reader_source):
             if option in ['features', 'limitations']:
                 # for the features we use a list
-                readers[reader][option].append(config.get(reader, option))
+                readers[reader][option].append(config.get(reader_source, option))
             else:
-                readers[reader][option] = config.get(reader, option)
+                readers[reader][option] = config.get(reader_source, option)
 
         bPINSupport = int(readers[reader]['bPINSupport'], 16)
         if bPINSupport & 1:
@@ -174,6 +182,11 @@
     #print real_list
     for reader in reader_list:
         #print "remove ", reader
+
+        # skip the second interface
+        if '_i1' in reader:
+            continue
+
         try:
             real_list.remove(reader)
         except ValueError:
@@ -346,6 +359,10 @@
     """
     search a log line containing the reader string
     """
+    # second interface, remove the '_i1' extension
+    if '_i1' in reader:
+        reader = reader[:-3]
+
     found = None
     for line in changelog:
         if reader in line:
@@ -402,8 +419,12 @@
                 idProduct=readers[reader]['idProduct'],
                 image="img/" + readers[reader].get('image', "no_image.png"))
 
+            if '_i1' in reader:
+                reader_txt = reader[:-3]
+            else:
+                reader_txt = reader
             note_layer.write_layer('descriptor', descriptor="readers/%s"
-                    % reader)
+                    % reader_txt)
 
             url = readers[reader].get('url', "")
             if url:




More information about the Pcsclite-cvs-commit mailing list