[Pcsclite-cvs-commit] r5757 - /website/matrix.py
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Sun May 15 15:49:58 UTC 2011
Author: rousseau
Date: Sun May 15 15:49:55 2011
New Revision: 5757
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5757
Log:
Sort according to the 2 first fields instead of just one
Modified:
website/matrix.py
Modified: website/matrix.py
URL: http://svn.debian.org/wsvn/pcsclite/website/matrix.py?rev=5757&op=diff
==============================================================================
--- website/matrix.py (original)
+++ website/matrix.py Sun May 15 15:49:55 2011
@@ -561,30 +561,33 @@
'bClassEnveloppe', 'wLcdLayout', 'bPINSupport',
'bMaxCCIDBusySlots', 'features', 'limitations', 'note', 'release']
+ # dict to sort in the order supported, shouldwork, unsupported, disabled
+ alpha_sections = {'supported': 0, 'shouldwork': 1,
+ 'unsupported': 2, 'disabled': 3}
+
for field in fields:
- # create a list of tuples [field value, reader]
+ # create a list of tuples [field1 value, field2 value, reader]
index = list()
- for reader in readers.keys():
- index.append([readers[reader].get(field, ""), reader])
-
if field == 'section':
- # hack to sort in the order supported, shouldwork,
- # unsupported, disabled
- index = [(s.replace('supported', 'asupported'), reader)
- for s, reader in index]
- index = [(s.replace('disabled', 'zdisabled'), reader)
- for s, reader in index]
+ for reader in readers.keys():
+ index.append([alpha_sections[readers[reader]['section']],
+ readers[reader]['iManufacturer'], reader])
+ else:
+ for reader in readers.keys():
+ index.append([readers[reader].get(field, ""),
+ alpha_sections[readers[reader]['section']], reader])
if field in ['dwDefaultClock', 'dwMaximumClock', 'dwDataRate',
'dwMaxDataRate', 'dwMaxIFSD', 'dwMaxCCIDMessageLength']:
# convert from text to decimal
- index = [(float(s.split(' ')[0]) * 1000, reader)
- for s, reader in index]
+ index = [(float(text.split(' ')[0]) * 1000, field2, reader)
+ for text, field2, reader in index]
if field == 'release':
- index = [(release2int(s), reader) for s, reader in index]
-
- # sort the index according to field value
+ index = [(release2int(text), field2, reader)
+ for text, field2, reader in index]
+
+ # sort the index according to field1 and field2 values
index.sort()
# put the main field in column 0
@@ -593,7 +596,8 @@
sorted_fields.insert(0, field)
# generate the table
- generate_table(readers, field, [reader for field, reader in index], sorted_fields)
+ generate_table(readers, field,
+ [reader for field1, field2, reader in index], sorted_fields)
def release2int(release):
More information about the Pcsclite-cvs-commit
mailing list