[Pcsclite-git-commit] [website] 01/04: matrix.py: support multiple identical VID/PID (V2)

Ludovic Rousseau rousseau at moszumanska.debian.org
Sat Dec 12 12:42:15 UTC 2015


This is an automated email from the git hooks/post-receive script.

rousseau pushed a commit to branch master
in repository website.

commit 3ddb2c3a352f8ac46cef2c637f308a5f4f3cf9a9
Author: Ludovic Rousseau <ludovic.rousseau at free.fr>
Date:   Sat Dec 12 13:21:05 2015 +0100

    matrix.py: support multiple identical VID/PID (V2)
    
    This second version of the patch now also find readers that are
    rebranded and reuse the same (idVendor, idProduct) pair as another
    reader.
    Example: the Thursby TSS PK7 is in fact a FEITIAN iR301
    (idVendor: 0x096E, idProduct: 0x061C)
    
    The previous patch is 490e12ba1b66c09d28fd1c7b0203e97f6a6c8072
---
 matrix.py | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/matrix.py b/matrix.py
index dcf534c..71b6745 100755
--- a/matrix.py
+++ b/matrix.py
@@ -340,13 +340,12 @@ def generate_page(section, title, comment, readers):
     main_layer = file_writer.open(date=time.asctime(),
         title=title, comment=comment, section=section)
 
+    duplicates = dict()
+
     # for each manufacturer
     for manufacturer in manufacturers:
         main_layer.write_layer('manufacturer', manufacturer=manufacturer)
 
-        old_idVendor = old_idProduct = ''
-        version = 0
-
         # for each reader
         for reader in sorted(manufacturer_readers[manufacturer]):
             image = "img/" + readers[reader].get('image', "no_image.png")
@@ -354,12 +353,18 @@ def generate_page(section, title, comment, readers):
             resolution = "width:%dpx;height:%dpx" % im.size
             idVendor=readers[reader]['idVendor']
             idProduct=readers[reader]['idProduct']
-            if old_idVendor == idVendor and old_idProduct == idProduct:
-                version += 1
+
+            # find duplicate of the same (idVendor, idProduct) pair
+            # either for multi interfaces device like the Feitian R502
+            # or rebranding like the Thursby TSS PK7
+            try:
+                version = duplicates[idVendor+idProduct]
                 version_str = "_%d" % version
-            else:
+            except KeyError:
                 version = 0
                 version_str = ''
+            duplicates[idVendor + idProduct] = version + 1
+
             note_layer = main_layer.open_layer('reader',
                 manufacturer=manufacturer,
                 product=readers[reader]['iProduct'],
@@ -397,9 +402,6 @@ def generate_page(section, title, comment, readers):
 
             note_layer.write_layer('release',
                 release=readers[reader]['release'])
-
-            old_idVendor = idVendor
-            old_idProduct = idProduct
     file_writer.close()
 
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pcsclite/website.git



More information about the Pcsclite-cvs-commit mailing list