[Python-checkins] python/dist/src/Lib/plat-mac gensuitemodule.py,1.1,1.2
jackjansen@users.sourceforge.net
jackjansen@users.sourceforge.net
Sun, 30 Mar 2003 14:39:42 -0800
- Previous message: [Python-checkins] python/dist/src/Modules almodule.c,1.37,1.38
- Next message: [Python-checkins] python/dist/src/Lib/plat-mac/lib-scriptpackages/SystemEvents Disk_2d_Folder_2d_File_Suite.py,NONE,1.1 Folder_Actions_Suite.py,NONE,1.1 Hidden_Suite.py,NONE,1.1 Login_Items_Suite.py,NONE,1.1 Power_Suite.py,NONE,1.1 Processes_Suite.py,NONE,1.1 Standard_Suite.py,NONE,1.1 System_Events_Suite.py,NONE,1.1 Text_Suite.py,NONE,1.1 __init__.py,NONE,1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/python/python/dist/src/Lib/plat-mac
In directory sc8-pr-cvs1:/tmp/cvs-serv16694
Modified Files:
gensuitemodule.py
Log Message:
Classes have to be sorted by code, not name, and synonyms have to
be sorted after the main name, otherwise filling of properties and
elements messes up.
Sorting is always more difficult than expected:-)
Index: gensuitemodule.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/plat-mac/gensuitemodule.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** gensuitemodule.py 29 Mar 2003 23:03:59 -0000 1.1
--- gensuitemodule.py 30 Mar 2003 22:39:39 -0000 1.2
***************
*** 573,578 ****
[name, desc, code, level, version, events, classes, comps, enums] = suite
# Sort various lists, so re-generated source is easier compared
events.sort()
! classes.sort()
comps.sort()
enums.sort()
--- 573,591 ----
[name, desc, code, level, version, events, classes, comps, enums] = suite
# Sort various lists, so re-generated source is easier compared
+ def class_sorter(k1, k2):
+ """Sort classes by code, and make sure main class sorts before synonyms"""
+ # [name, code, desc, properties, elements] = cls
+ if k1[1] < k2[1]: return -1
+ if k1[1] > k2[1]: return 1
+ if not k2[3] or k2[3][0][1] == 'c@#!':
+ # This is a synonym, the other one is better
+ return -1
+ if not k1[3] or k1[3][0][1] == 'c@#!':
+ # This is a synonym, the other one is better
+ return 1
+ return 0
+
events.sort()
! classes.sort(class_sorter)
comps.sort()
enums.sort()
***************
*** 628,632 ****
return code, modname
!
def compileclassheader(fp, name, module=None):
"""Generate class boilerplate"""
--- 641,645 ----
return code, modname
!
def compileclassheader(fp, name, module=None):
"""Generate class boilerplate"""
***************
*** 940,943 ****
--- 953,960 ----
self.namemappers[0].findcodename('class', code)[0] != cname:
# This is an other name (plural or so) for something else. Skip.
+ if self.fp and (elements or len(properties) > 1 or (len(properties) == 1 and
+ properties[0][1] != 'c@#!')):
+ print '** Skip multiple %s of %s (code %s)' % (cname, self.namemappers[0].findcodename('class', code)[0], `code`)
+ raise RuntimeError, "About to skip non-empty class"
return
plist = []
- Previous message: [Python-checkins] python/dist/src/Modules almodule.c,1.37,1.38
- Next message: [Python-checkins] python/dist/src/Lib/plat-mac/lib-scriptpackages/SystemEvents Disk_2d_Folder_2d_File_Suite.py,NONE,1.1 Folder_Actions_Suite.py,NONE,1.1 Hidden_Suite.py,NONE,1.1 Login_Items_Suite.py,NONE,1.1 Power_Suite.py,NONE,1.1 Processes_Suite.py,NONE,1.1 Standard_Suite.py,NONE,1.1 System_Events_Suite.py,NONE,1.1 Text_Suite.py,NONE,1.1 __init__.py,NONE,1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]