Use new file dialogs.
This commit is contained in:
parent
db5ab80411
commit
df976caa34
|
@ -1,15 +1,13 @@
|
|||
"""checktext - Check that a text file has macintosh-style newlines"""
|
||||
|
||||
import macfs
|
||||
import sys
|
||||
import EasyDialogs
|
||||
import string
|
||||
|
||||
def main():
|
||||
fsspec, ok = macfs.PromptGetFile('File to check end-of-lines in:', 'TEXT')
|
||||
if not ok:
|
||||
pathname = EasyDialogs.AskFileForOpen(message='File to check end-of-lines in:')
|
||||
if not pathname:
|
||||
sys.exit(0)
|
||||
pathname = fsspec.as_pathname()
|
||||
fp = open(pathname, 'rb')
|
||||
try:
|
||||
data = fp.read()
|
||||
|
|
|
@ -11,7 +11,6 @@ import sys
|
|||
sys.stdout = sys.stderr
|
||||
|
||||
import os
|
||||
import macfs
|
||||
import MacOS
|
||||
import EasyDialogs
|
||||
import buildtools
|
||||
|
@ -36,7 +35,7 @@ def buildapplet():
|
|||
|
||||
if not sys.argv[1:]:
|
||||
filename = EasyDialogs.AskFileForOpen(message='Select Python source or applet:',
|
||||
fileTypes=('TEXT', 'APPL'))
|
||||
typeList=('TEXT', 'APPL'))
|
||||
if not filename:
|
||||
return
|
||||
tp, tf = os.path.split(filename)
|
||||
|
@ -86,7 +85,7 @@ def buildapplet():
|
|||
verbose = 'default'
|
||||
# Loop over all files to be processed
|
||||
for filename in args:
|
||||
cr, tp = MacOS.GetCreatorAndType(macfs.FSRef(filename))
|
||||
cr, tp = MacOS.GetCreatorAndType(filename)
|
||||
if tp == 'APPL':
|
||||
buildtools.update(template, filename, dstfilename)
|
||||
else:
|
||||
|
|
|
@ -7,29 +7,29 @@ Reading and understanding this code is left as an exercise to the reader.
|
|||
"""
|
||||
|
||||
import MacOS
|
||||
import EasyDialogs
|
||||
import os
|
||||
import string
|
||||
import sys
|
||||
import types
|
||||
import StringIO
|
||||
import macfs
|
||||
import keyword
|
||||
import macresource
|
||||
from aetools import unpack
|
||||
|
||||
from Carbon.Res import *
|
||||
|
||||
DEFAULT_PACKAGEFOLDER=os.path.join(sys.prefix, 'Mac', 'Lib', 'lib-scriptpackages')
|
||||
DEFAULT_PACKAGEFOLDER=os.path.join(sys.prefix, 'Lib', 'plat-mac', 'lib-scriptpackages')
|
||||
|
||||
def main():
|
||||
if len(sys.argv) > 1:
|
||||
for filename in sys.argv[1:]:
|
||||
processfile(filename)
|
||||
else:
|
||||
fss, ok = macfs.PromptGetFile('Select file with aeut/aete resource:')
|
||||
if not ok:
|
||||
filename = EasyDialogs.AskFileForOpen(message='Select file with aeut/aete resource:')
|
||||
if not filename:
|
||||
sys.exit(0)
|
||||
processfile(fss.as_pathname())
|
||||
processfile(filename)
|
||||
|
||||
def processfile(fullname):
|
||||
"""Process all resources in a single file"""
|
||||
|
@ -231,8 +231,7 @@ def compileaete(aete, resinfo, fname):
|
|||
"""Generate code for a full aete resource. fname passed for doc purposes"""
|
||||
[version, language, script, suites] = aete
|
||||
major, minor = divmod(version, 256)
|
||||
fss = macfs.FSSpec(fname)
|
||||
creatorsignature, dummy = fss.GetCreatorType()
|
||||
creatorsignature, dummy = MacOS.GetCreatorAndType(fname)
|
||||
packagename = identify(os.path.splitext(os.path.basename(fname))[0])
|
||||
if language:
|
||||
packagename = packagename+'_lang%d'%language
|
||||
|
@ -240,39 +239,39 @@ def compileaete(aete, resinfo, fname):
|
|||
packagename = packagename+'_script%d'%script
|
||||
if len(packagename) > 27:
|
||||
packagename = packagename[:27]
|
||||
macfs.SetFolder(DEFAULT_PACKAGEFOLDER)
|
||||
fss, ok = macfs.GetDirectory('Create and select package folder for %s'%packagename)
|
||||
if not ok:
|
||||
pathname = EasyDialogs.AskFolder(message='Create and select package folder for %s'%packagename,
|
||||
defaultLocation=DEFAULT_PACKAGEFOLDER)
|
||||
if not pathname:
|
||||
return
|
||||
pathname = fss.as_pathname()
|
||||
packagename = os.path.split(os.path.normpath(pathname))[1]
|
||||
fss, ok = macfs.GetDirectory('Package folder for base suite (usually StdSuites)')
|
||||
if ok:
|
||||
dirname, basepkgname = os.path.split(os.path.normpath(fss.as_pathname()))
|
||||
basepkgname = EasyDialogs.AskFolder(message='Package folder for base suite (usually StdSuites)',
|
||||
defaultLocation=DEFAULT_PACKAGEFOLDER)
|
||||
if basepkgname:
|
||||
dirname, basepkgname = os.path.split(os.path.normpath(basepkgname))
|
||||
if not dirname in sys.path:
|
||||
sys.path.insert(0, dirname)
|
||||
basepackage = __import__(basepkgname)
|
||||
else:
|
||||
basepackage = None
|
||||
macfs.SetFolder(pathname)
|
||||
suitelist = []
|
||||
allprecompinfo = []
|
||||
allsuites = []
|
||||
for suite in suites:
|
||||
code, suite, fss, modname, precompinfo = precompilesuite(suite, basepackage)
|
||||
code, suite, pathname, modname, precompinfo = precompilesuite(suite, basepackage)
|
||||
if not code:
|
||||
continue
|
||||
allprecompinfo = allprecompinfo + precompinfo
|
||||
suiteinfo = suite, fss, modname
|
||||
suiteinfo = suite, pathname, modname
|
||||
suitelist.append((code, modname))
|
||||
allsuites.append(suiteinfo)
|
||||
for suiteinfo in allsuites:
|
||||
compilesuite(suiteinfo, major, minor, language, script, fname, basepackage, allprecompinfo)
|
||||
fss, ok = macfs.StandardPutFile('Package module', '__init__.py')
|
||||
if not ok:
|
||||
initfilename = EasyDialogs.AskFileForSave(message='Package module',
|
||||
savedFileName='__init__.py')
|
||||
if not initfilename:
|
||||
return
|
||||
fp = open(fss.as_pathname(), 'w')
|
||||
fss.SetCreatorType('Pyth', 'TEXT')
|
||||
fp = open(initfilename, 'w')
|
||||
MacOS.SetCreatorAndType(initfilename, 'Pyth', 'TEXT')
|
||||
fp.write('"""\n')
|
||||
fp.write("Package generated from %s\n"%fname)
|
||||
if resinfo:
|
||||
|
@ -339,11 +338,11 @@ def precompilesuite(suite, basepackage=None):
|
|||
modname = identify(name)
|
||||
if len(modname) > 28:
|
||||
modname = modname[:27]
|
||||
fss, ok = macfs.StandardPutFile('Python output file', modname+'.py')
|
||||
if not ok:
|
||||
pathname = EasyDialogs.AskFileForSave(message='Python output file',
|
||||
savedFileName=modname+'.py')
|
||||
if not pathname:
|
||||
return None, None, None, None, None
|
||||
|
||||
pathname = fss.as_pathname()
|
||||
modname = os.path.splitext(os.path.split(pathname)[1])[0]
|
||||
|
||||
if basepackage and basepackage._code_to_module.has_key(code):
|
||||
|
@ -375,15 +374,14 @@ def precompilesuite(suite, basepackage=None):
|
|||
|
||||
precompinfo = objc.getprecompinfo(modname)
|
||||
|
||||
return code, suite, fss, modname, precompinfo
|
||||
return code, suite, pathname, modname, precompinfo
|
||||
|
||||
def compilesuite((suite, fss, modname), major, minor, language, script, fname, basepackage, precompinfo):
|
||||
def compilesuite((suite, pathname, modname), major, minor, language, script, fname, basepackage, precompinfo):
|
||||
"""Generate code for a single suite"""
|
||||
[name, desc, code, level, version, events, classes, comps, enums] = suite
|
||||
|
||||
pathname = fss.as_pathname()
|
||||
fp = open(fss.as_pathname(), 'w')
|
||||
fss.SetCreatorType('Pyth', 'TEXT')
|
||||
fp = open(pathname, 'w')
|
||||
MacOS.SetCreatorAndType(pathname, 'Pyth', 'TEXT')
|
||||
|
||||
fp.write('"""Suite %s: %s\n' % (ascii(name), ascii(desc)))
|
||||
fp.write("Level %d, version %d\n\n" % (level, version))
|
||||
|
@ -676,9 +674,9 @@ class ObjectCompiler:
|
|||
self.namemappers.append(mapper)
|
||||
|
||||
def askdefinitionmodule(self, type, code):
|
||||
fss, ok = macfs.PromptGetFile('Where is %s %s declared?'%(type, code))
|
||||
if not ok: return
|
||||
path, file = os.path.split(fss.as_pathname())
|
||||
path = EasyDialogs.AskFileForSave(message='Where is %s %s declared?'%(type, code))
|
||||
if not path: return
|
||||
path, file = os.path.split(path)
|
||||
modname = os.path.splitext(file)[0]
|
||||
if not path in sys.path:
|
||||
sys.path.insert(0, path)
|
||||
|
|
Loading…
Reference in New Issue