Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: b2b1ed17819ecb24a78d07d3ff1e8e6bc6137721 authored by cvs2svn on 26 August 1996, 18:33:32 UTC
This commit was manufactured by cvs2svn to create tag 'r14beta3'.
Tip revision: b2b1ed1
mkestrres.py
#
# Create 'Estr' resource from error dictionary
from Res import *
import Res
from Resources import *
import MacOS
import string

READ = 1
WRITE = 2
smAllScripts = -3

def Pstring(str):
	if len(str) > 255:
		raise ValueError, 'String too large'
	return chr(len(str))+str
	
def writeestr(dst, edict):
	"""Create Estr resource file given a dictionary of errors."""
	

	FSpCreateResFile(dst, 'RSED', 'rsrc', smAllScripts)
	output = FSpOpenResFile(dst, WRITE)
	UseResFile(output)
	for num in edict.keys():
		res = Resource(Pstring(edict[num]))
		res.AddResource('Estr', num, '')
		res.WriteResource()
	CloseResFile(output)
	
def parsefile(src):
	fp = open(src)
	lines = []
	while 1:
		x = fp.readline()
		if not x:
			break
		x = x[:-1]
		words = string.split(x)
		if x[0] in (' ', '\t'):
			# continuation line
			x = string.join(words)
			lines[-1] = lines[-1] + ' ' + x
		else:
			x = string.join(words)
			lines.append(x)
	dict = {}
	for line in lines:
		words = string.split(line)
		index = eval(words[0])
		if dict.has_key(index):
			print '** Duplicate key:', index
		x = string.join(words[2:])
		if not x:
			x = words[1]
		dict[index] = x
	return dict
			
	
if __name__ == '__main__':
	dict = parsefile('errors.txt')
	writeestr('errors.rsrc', dict)
back to top