[Pcsclite-cvs-commit] r5755 - /website/matrix.py
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Sun May 15 15:22:34 UTC 2011
Author: rousseau
Date: Sun May 15 15:22:29 2011
New Revision: 5755
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5755
Log:
Use longer variables names to please pylint
Modified:
website/matrix.py
Modified: website/matrix.py
URL: http://svn.debian.org/wsvn/pcsclite/website/matrix.py?rev=5755&op=diff
==============================================================================
--- website/matrix.py (original)
+++ website/matrix.py Sun May 15 15:22:29 2011
@@ -47,10 +47,10 @@
def html_escape(text):
"""Produce entities within text."""
- L = []
- for c in text:
- L.append(html_escape_table.get(c, c))
- return "".join(L)
+ result = list()
+ for char in text:
+ result.append(html_escape_table.get(char, char))
+ return "".join(result)
def parse_interface(lines):
@@ -104,14 +104,14 @@
interfaces = parse_reader(path, reader)
for interface in interfaces:
- p = parse_interface(interface)
+ parse = parse_interface(interface)
if reader in readers:
# second interface
readers[reader]['features'].append("Multi interface reader")
- p['features'].append("Second interface")
- readers[reader]['interface'] = p
+ parse['features'].append("Second interface")
+ readers[reader]['interface'] = parse
else:
- readers[reader] = p
+ readers[reader] = parse
return readers
@@ -127,27 +127,27 @@
reader_list = config.sections()
readers = parse_all(path, reader_list)
- for r in readers.keys():
- readers[r]['section'] = section
-
- for o in config.options(r):
- if o == 'features':
+ for reader in readers.keys():
+ readers[reader]['section'] = section
+
+ for option in config.options(reader):
+ if option == 'features':
# for the features we use a list
- readers[r][o].append(config.get(r, o))
+ readers[reader][option].append(config.get(reader, option))
else:
- readers[r][o] = config.get(r, o)
-
- bPINSupport = int(readers[r]['bPINSupport'], 16)
+ readers[reader][option] = config.get(reader, option)
+
+ bPINSupport = int(readers[reader]['bPINSupport'], 16)
if bPINSupport & 1:
- readers[r]['features'].append("PIN Verification")
+ readers[reader]['features'].append("PIN Verification")
if bPINSupport & 2:
- readers[r]['features'].append("PIN Modification")
- if int(readers[r]['dwFeatures'], 16) & 0x0800:
- readers[r]['features'].append("ICCD")
-
- if 'interface' in readers[r]:
- second_interface = readers[r]['interface']
- first_interface = readers[r]
+ readers[reader]['features'].append("PIN Modification")
+ if int(readers[reader]['dwFeatures'], 16) & 0x0800:
+ readers[reader]['features'].append("ICCD")
+
+ if 'interface' in readers[reader]:
+ second_interface = readers[reader]['interface']
+ first_interface = readers[reader]
second_interface['section'] = section
for elt in first_interface['features']:
second_interface['features'].append(elt)
@@ -169,12 +169,12 @@
# check that each reader file is listed
#print real_list
- for r in reader_list:
- #print "remove ", r
+ for reader in reader_list:
+ #print "remove ", reader
try:
- real_list.remove(r)
+ real_list.remove(reader)
except ValueError:
- print "reader %s not yet listed" % r
+ print "reader %s not yet listed" % reader
# also remove the non-reader supported_readers.txt file
real_list.remove("supported_readers.txt")
@@ -192,13 +192,14 @@
"""
supported_readers = file(path + "supported_readers.txt").readlines()
# convert in a long string and in uppercase
- s = "".join(supported_readers).upper()
+ supported = "".join(supported_readers).upper()
unlisted = list()
- for r in all_readers.keys():
- pattern = "%s:%s" % (all_readers[r]['idVendor'], all_readers[r]['idProduct'])
- if not pattern.upper() in s:
- unlisted.append(pattern + " " + r)
+ for reader in all_readers.keys():
+ pattern = "%s:%s" % (all_readers[reader]['idVendor'],
+ all_readers[reader]['idProduct'])
+ if not pattern.upper() in supported:
+ unlisted.append(pattern + " " + reader)
if len(unlisted) > 0:
print "Reader(s) not in supported_readers.txt"
@@ -236,8 +237,8 @@
vendor = int(vendor, 16)
product = int(product, 16)
found = False
- for r in all_readers.keys():
- reader = all_readers[r]
+ for reader in all_readers.keys():
+ reader = all_readers[reader]
if vendor == int(reader['idVendor'], 16) and product == int(reader['idProduct'], 16):
found = True
if not found:
@@ -305,9 +306,9 @@
[5626, "1.4.2"],
[5688, "1.4.3"],
[5742, "1.4.4"]]
- for h in history:
- if rev <= h[0]:
- return h[1]
+ for release in history:
+ if rev <= release[0]:
+ return release[1]
return "SVN"
@@ -317,18 +318,18 @@
"""
lines = open("ccid/readers/ChangeLog").readlines()
changelog = list()
- p = list()
+ tmp = list()
for line in lines:
# the lines starts with a year (2000-2099)
if line.startswith('20'):
- changelog.append("".join(p).replace('\n', ''))
- p = [line]
+ changelog.append("".join(tmp).replace('\n', ''))
+ tmp = [line]
else:
- p.append(line)
+ tmp.append(line)
# add the last line
- changelog.append("".join(p).replace('\n', ''))
+ changelog.append("".join(tmp).replace('\n', ''))
return changelog
@@ -357,12 +358,12 @@
def get_by_manufacturer(readers):
"""
return a dict of the readers grouped by manufacturer
- d['manufacturer'] is a list of the manufacturer's readers
- """
- d = {}
- for r in readers.keys():
- d.setdefault(readers[r]['iManufacturer'], []).append(r)
- return d
+ by_manuf['manufacturer'] is a list of the manufacturer's readers
+ """
+ by_manuf = dict()
+ for reader in readers.keys():
+ by_manuf.setdefault(readers[reader]['iManufacturer'], []).append(reader)
+ return by_manuf
def generate_page(section, title, comment, readers):
@@ -385,37 +386,38 @@
main_layer.write_layer('manufacturer', manufacturer=m)
# for each reader
- for r in sorted(manufacturer_readers[m]):
+ for reader in sorted(manufacturer_readers[m]):
note_layer = main_layer.open_layer('reader',
manufacturer=m,
- product=readers[r]['iProduct'],
- idVendor=readers[r]['idVendor'],
- idProduct=readers[r]['idProduct'],
- image="img/" + readers[r].get('image', "no_image.png"))
-
- note_layer.write_layer('descriptor', descriptor="readers/%s" % r)
-
- url = readers[r].get('url', "")
+ product=readers[reader]['iProduct'],
+ idVendor=readers[reader]['idVendor'],
+ idProduct=readers[reader]['idProduct'],
+ image="img/" + readers[reader].get('image', "no_image.png"))
+
+ note_layer.write_layer('descriptor', descriptor="readers/%s"
+ % reader)
+
+ url = readers[reader].get('url', "")
if url:
note_layer.write_layer('url',
url=url,
manufacturer=m,
- product=readers[r]['iProduct'])
-
- features = ", ".join(readers[r]['features'])
+ product=readers[reader]['iProduct'])
+
+ features = ", ".join(readers[reader]['features'])
if features:
note_layer.write_layer('features', features=features)
- limitations = ", ".join(readers[r]['limitations'])
+ limitations = ", ".join(readers[reader]['limitations'])
if limitations:
note_layer.write_layer('limitations', limitations=limitations)
- note = readers[r].get('note', "").split('\n')
- for n in note:
- note_layer.write_layer('note', contents=n)
+ notes = readers[reader].get('note', "").split('\n')
+ for note in notes:
+ note_layer.write_layer('note', contents=note)
note_layer.write_layer('release',
- release=readers[r]['release'])
+ release=readers[reader]['release'])
file_writer.close()
@@ -434,15 +436,17 @@
file_desc.write('<tr class="%s">' % color)
file_desc.write("<td>%d</td>" % num)
- for f in fields:
- if f == 'iProduct':
- file_desc.write("<td><a href='%s.html#%s%s'>%s</a></td>" % (reader['section'], reader['idVendor'], reader['idProduct'], reader[f]))
- elif f == 'image':
+ for field in fields:
+ if field == 'iProduct':
+ file_desc.write("<td><a href='%s.html#%s%s'>%s</a></td>" %
+ (reader['section'], reader['idVendor'],
+ reader['idProduct'], reader[field]))
+ elif field == 'image':
file_desc.write('<td><img src="%s" height="100" alt="image"></td>' % ("img/" + reader.get('image', "no_image.png")))
- elif f == 'features':
- file_desc.write("<td>%s</td>" % ", ".join(reader[f]))
+ elif field == 'features':
+ file_desc.write("<td>%s</td>" % ", ".join(reader[field]))
else:
- file_desc.write("<td>%s</td>" % html_escape(reader.get(f, "")))
+ file_desc.write("<td>%s</td>" % html_escape(reader.get(field, "")))
file_desc.write('</tr>\n')
@@ -521,18 +525,19 @@
file_desc.write('<tr>')
file_desc.write("<th>#</th>")
- for f in fields:
- file_desc.write("<th><a href='%s'>%s</a></th>" % (f + ".html", f))
+ for field in fields:
+ file_desc.write("<th><a href='%s'>%s</a></th>" % (field +
+ ".html", field))
file_desc.write('</tr>\n')
num = 0
- for r in index:
+ for reader in index:
num += 1
- add_line(file_desc, num, readers[r], fields)
-
- if 'interface' in readers[r]:
+ add_line(file_desc, num, readers[reader], fields)
+
+ if 'interface' in readers[reader]:
num += 1
- add_line(file_desc, num, readers[r]['interface'], fields)
+ add_line(file_desc, num, readers[reader]['interface'], fields)
file_desc.write('</table>\n')
@@ -556,44 +561,48 @@
'bClassEnveloppe', 'wLcdLayout', 'bPINSupport',
'bMaxCCIDBusySlots', 'features', 'limitations', 'note', 'release']
- for f in fields:
+ for field in fields:
# create a list of tuples [field value, reader]
index = list()
- for r in readers.keys():
- index.append([readers[r].get(f, ""), r])
-
- if f == 'section':
- # hack to sort in the order supported, shouldwork, unsupported, disabled
- index = [(s.replace('supported', 'asupported'), r) for s, r in index]
- index = [(s.replace('disabled', 'zdisabled'), r) for s, r in index]
-
- if f in ['dwDefaultClock', 'dwMaximumClock', 'dwDataRate',
+ 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]
+
+ if field in ['dwDefaultClock', 'dwMaximumClock', 'dwDataRate',
'dwMaxDataRate', 'dwMaxIFSD', 'dwMaxCCIDMessageLength']:
# convert from text to decimal
- index = [(float(s.split(' ')[0]) * 1000, r) for s, r in index]
-
- if f == 'release':
- index = [(release2int(s), r) for s, r in index]
+ index = [(float(s.split(' ')[0]) * 1000, reader)
+ for s, reader in index]
+
+ if field == 'release':
+ index = [(release2int(s), reader) for s, reader in index]
# sort the index according to field value
index.sort()
# put the main field in column 0
sorted_fields = list(fields)
- sorted_fields.remove(f)
- sorted_fields.insert(0, f)
+ sorted_fields.remove(field)
+ sorted_fields.insert(0, field)
# generate the table
- generate_table(readers, f, [r for f, r in index], sorted_fields)
-
-
-def release2int(r):
+ generate_table(readers, field, [reader for field, reader in index], sorted_fields)
+
+
+def release2int(release):
"""
Convert a release value "a.b.c" in c + b * 1000 + a * 1000 * 1000
"""
- rr = r.split('.')
- if len(rr) > 1:
- return int(rr[2]) + int(rr[1]) * 1000 + int(rr[0]) * 1000 * 1000
+ rel = release.split('.')
+ if len(rel) > 1:
+ return int(rel[2]) + int(rel[1]) * 1000 + int(rel[0]) * 1000 * 1000
else:
# SVN version
return 99 * 1000 * 1000
More information about the Pcsclite-cvs-commit
mailing list