[Zope-Checkins] SVN: Zope/branches/2.12/inst/generate_index.py Suppress case-flattening ConfigParser stupidity.

Tres Seaver tseaver at palladion.com
Mon Apr 5 15:18:10 EDT 2010


Log message for revision 110512:
  Suppress case-flattening ConfigParser stupidity.

Changed:
  U   Zope/branches/2.12/inst/generate_index.py

-=-
Modified: Zope/branches/2.12/inst/generate_index.py
===================================================================
--- Zope/branches/2.12/inst/generate_index.py	2010-04-05 19:10:23 UTC (rev 110511)
+++ Zope/branches/2.12/inst/generate_index.py	2010-04-05 19:18:09 UTC (rev 110512)
@@ -10,11 +10,11 @@
 from xmlrpclib import Server
 from ConfigParser import RawConfigParser as ConfigParser
 
-# packages containing upper-case letters
-upper_names = ('ClientForm', 'RestrictedPython', 'ZConfig', 'ZODB3', 'zLOG',
-               'Acquisition', 'DateTime', 'ExtensionClass', 'Persistence',
-               'ZopeUndo', )
+class CasePreservingConfigParser(ConfigParser):
 
+    def optionxform(self, option):
+        return option  # don't flatten case!
+
 def write_index(package, version):
     print >>sys.stderr, 'Package %s==%s' % (package, version)
     dest_dir = os.path.join(dirname, package)
@@ -43,7 +43,7 @@
     print >>fp, '</body></html>'
     fp.close()
 
-CP = ConfigParser()
+CP = CasePreservingConfigParser()
 CP.read(['versions.cfg'])
 
 server = Server('http://pypi.python.org/pypi')
@@ -54,11 +54,5 @@
 
 for package in CP.options('versions'):
 
-    # options() returns all options in lowercase but
-    # we must preserve the case for package names
-    for name in upper_names:
-        if name.lower() == package:
-            package = name
-            break
     version = CP.get('versions', package)
     write_index(package, version)



More information about the Zope-Checkins mailing list