Collect any extra values that have not been covered in the indexing

phase for report.


git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2913 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
mcmartin
2008-01-25 02:14:59 +00:00
parent c836af4a46
commit 674d784d49
+27 -7
View File
@@ -70,6 +70,8 @@ def get_index_from_header (h):
def parse_headers(pkgdata, fnamemap): def parse_headers(pkgdata, fnamemap):
result = [] result = []
used_indices = {}
used_ids = {}
headernames = explorer.collect_res_headers(srcdir) headernames = explorer.collect_res_headers(srcdir)
headerdata = [(x, explorer.read_header(x)) for x in headernames] headerdata = [(x, explorer.read_header(x)) for x in headernames]
for (name, defines) in headerdata: for (name, defines) in headerdata:
@@ -79,26 +81,44 @@ def parse_headers(pkgdata, fnamemap):
for (sym, val) in defines: for (sym, val) in defines:
try: try:
trueval = res_encode (*res_decode_str (val)) trueval = res_encode (*res_decode_str (val))
used_indices[trueval]=True
if trueval in resmap: if trueval in resmap:
res_id = resmap[trueval] res_id = resmap[trueval]
used_ids[res_id]=True
if res_id in fnamemap: if res_id in fnamemap:
fname = fnamemap[res_id] fname = fnamemap[res_id]
else: else:
fname = '--' fname = '--'
result.append((sym, val, res_id, fname))
else: else:
print>>sys.stderr, "Warning: Unknown RESOURCE %s for %s in %s (index %s)" % (val, sym, name, index) res_id = '--'
fname = '--'
result.append((sym, val, res_id, fname))
except ValueError: except ValueError:
# This was something that wasn't a resource index # This was something that wasn't a resource index
pass pass
else: else:
print>>sys.stderr, "Warning: Unknown RES_INDEX '%s'" % index print>>sys.stderr, "Warning: Unknown RES_INDEX '%s'" % index
for pkgname in pkgdata:
pkg = pkgdata[pkgname]
for id in pkg:
if id not in used_indices:
res_id = pkg[id]
used_ids[res_id]=True
if res_id in fnamemap:
fname = fnamemap[res_id]
else:
fname = '--'
result.append(('--', res_encode_str (res_decode (id)), res_id, fname))
for id in fnamemap:
if id not in used_ids:
result.append(('--', '--', id, fnamemap[id]))
return result return result
def go(): def collect_data ():
ls2s = parse_packages() return parse_headers (parse_packages(), parse_resmap())
rmp = parse_resmap()
vals = parse_headers (ls2s, rmp)
def dump_html(vals):
print """<html> print """<html>
<head> <head>
<title>UQM Resource Mappings as of 0.6.4</title> <title>UQM Resource Mappings as of 0.6.4</title>
@@ -116,5 +136,5 @@ def go():
</html>""" </html>"""
if __name__ == '__main__': if __name__ == '__main__':
go() dump_html(collect_data())