[Pcsclite-cvs-commit] r3345 - /website/matrix.py
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Fri Mar 13 15:57:32 UTC 2009
Author: rousseau
Date: Fri Mar 13 15:57:32 2009
New Revision: 3345
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3345
Log:
generate web pages
Modified:
website/matrix.py
Modified: website/matrix.py
URL: http://svn.debian.org/wsvn/pcsclite/website/matrix.py?rev=3345&op=diff
==============================================================================
--- website/matrix.py (original)
+++ website/matrix.py Fri Mar 13 15:57:32 2009
@@ -21,6 +21,8 @@
import os
import ConfigParser
import pprint
+import templayer
+import time
pp = pprint.PrettyPrinter(indent=4)
@@ -61,6 +63,8 @@
parse a foobas.ini file to extract all informations
"""
config = ConfigParser.ConfigParser()
+ # do not use the default case insensitive transform for key value
+ config.optionxform = str
config.read(inifile)
reader_list = config.sections()
@@ -93,6 +97,12 @@
if len(real_list) > 0:
raise Exception("readers %s are not listed" % real_list)
+def get_by_manufacturer(readers):
+ d = {}
+ for r in readers.keys():
+ d.setdefault(readers[r]['iManufacturer'], []).append(r)
+ return d
+
if __name__ == "__main__":
path = "../trunk/Drivers/ccid/readers/"
@@ -104,8 +114,31 @@
#pp.pprint(reader_list)
check_list(path, reader_list)
- r = "Kobil_EMV_CAP.txt"
- #pp.pprint(supported_readers[r].keys())
+ # sort the readers by manufacturers
+ manufacturer_readers = get_by_manufacturer(supported_readers)
+ manufacturers = list(manufacturer_readers)
+ manufacturers.sort(key=str.lower)
+
+ r = "Gemalto_PDT.txt"
+ #pp.pprint(supported_readers[r])
for k in supported_readers[r].keys():
#print k, ":", supported_readers[r][k]
pass
+
+ template = templayer.HTMLTemplate("supported.template")
+ file_writer = template.start_file(file=file("supported.html", "w"))
+ main_layer = file_writer.open(date=time.asctime())
+
+ # for each manufacturer
+ for m in manufacturers:
+ main_layer.write_layer('manufacturer', manufacturer=m)
+
+ # for each reader
+ for r in sorted(manufacturer_readers[m]):
+ main_layer.write_layer('reader',
+ manufacturer=m,
+ product=supported_readers[r]['iProduct'],
+ url=supported_readers[r].get('url', ""),
+ image="img/" + supported_readers[r].get('image',
+ "no_image.png"))
+ file_writer.close()
More information about the Pcsclite-cvs-commit
mailing list