mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
stuff by jack to create a set of Estr resources
This commit is contained in:
parent
81920f1b75
commit
3c3eda2b7b
2 changed files with 654 additions and 0 deletions
62
Mac/scripts/mkestrres.py
Normal file
62
Mac/scripts/mkestrres.py
Normal file
|
@ -0,0 +1,62 @@
|
|||
#
|
||||
# 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)
|
Loading…
Add table
Add a link
Reference in a new issue