[Python-checkins] python/dist/src/Mac/Lib macfs.py,1.3,1.4 macfsn.py,1.7,NONE

jackjansen@users.sourceforge.net jackjansen@users.sourceforge.net
2002年12月26日 13:09:41 -0800


Update of /cvsroot/python/python/dist/src/Mac/Lib
In directory sc8-pr-cvs1:/tmp/cvs-serv12734
Modified Files:
	macfs.py 
Removed Files:
	macfsn.py 
Log Message:
Integrated macfsn into macfs, and made the Standard File calls return the
correct FSSpec implementations.
Index: macfs.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Lib/macfs.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** macfs.py	26 Dec 2002 20:46:54 -0000	1.3
--- macfs.py	26 Dec 2002 21:09:39 -0000	1.4
***************
*** 3,6 ****
--- 3,10 ----
 """
 import sys
+ import struct
+ import Carbon.Res
+ import Carbon.File
+ import Nav
 
 # First step: ensure we also emulate the MACFS module, which contained
***************
*** 12,17 ****
 from Carbon.Files import *
 from Carbon.Folders import *
- # Another method:
- from Carbon.Folder import FindFolder
 
 # For some obscure historical reason these are here too:
--- 16,19 ----
***************
*** 20,28 ****
 smAllScripts = -3
 
- 
- import Carbon.File
 # The old name of the error object:
 error = Carbon.File.Error
 
 class FSSpec(Carbon.File.FSSpec):
 	def as_fsref(self):
--- 22,32 ----
 smAllScripts = -3
 
 # The old name of the error object:
 error = Carbon.File.Error
 
+ #
+ # The various objects macfs used to export. We override them here, because some
+ # of the method names are subtly different.
+ #
 class FSSpec(Carbon.File.FSSpec):
 	def as_fsref(self):
***************
*** 73,77 ****
 		
 from Carbon.File import FInfo
! 	
 FSSpecType = FSSpec
 FSRefType = FSRef
--- 77,82 ----
 		
 from Carbon.File import FInfo
! 
! # Backward-compatible type names:
 FSSpecType = FSSpec
 FSRefType = FSRef
***************
*** 79,82 ****
--- 84,88 ----
 FInfoType = FInfo
 
+ # Global functions:
 def ResolveAliasFile(fss, chain=1):
 	fss, isdir, isalias = Carbon.File.ResolveAliasFile(fss, chain)
***************
*** 95,98 ****
 	return Alias(Carbon.File.NewAliasMinimalFromFullPath(path, '', ''))
 	
! # Finally, install nav services
! import macfsn
\ No newline at end of file
--- 101,231 ----
 	return Alias(Carbon.File.NewAliasMinimalFromFullPath(path, '', ''))
 	
! # Another global function:
! from Carbon.Folder import FindFolder
! 
! #
! # Finally the old Standard File routine emulators.
! #
! 
! _movablemodal = 0
! _curfolder = None
! 
! def _mktypelist(typelist):
! 	# Workaround for OSX typeless files:
! 	if 'TEXT' in typelist and not '0円0円0円0円' in typelist:
! 		typelist = typelist + ('0円0円0円0円',)
! 	if not typelist:
! 		return None
! 	data = 'Pyth' + struct.pack("hh", 0, len(typelist))
! 	for type in typelist:
! 		data = data+type
! 	return Carbon.Res.Handle(data)
! 	
! def StandardGetFile(*typelist):
! 	"""Ask for an input file, optionally specifying 4-char file types that are
! 	allowable"""
! 	return apply(PromptGetFile, (None,)+typelist)
! 	
! def PromptGetFile(prompt, *typelist):
! 	"""Ask for an input file giving the user a prompt message. Optionally you can
! 	specifying 4-char file types that are allowable"""
! 	args = {}
! 	flags = 0x56
! 	typehandle = _mktypelist(typelist)
! 	if typehandle:
! 		args['typeList'] = typehandle
! 	else:
! 		flags = flags | 0x01
! 	if prompt:
! 		args['message'] = prompt
! 	args['preferenceKey'] = 'PyMC'
! 	if _movablemodal:
! 		args['eventProc'] = None
! 	args['dialogOptionFlags'] = flags
! 	_handleSetFolder(args)
! 	try:
! 		rr = Nav.NavChooseFile(args)
! 		good = 1
! 	except Nav.error, arg:
! 		if arg[0] != -128: # userCancelledErr
! 			raise Nav.error, arg
! 		good = 0
! 		fss = None
! 	else:
! 		if rr.selection:
! 			fss = FSSpec(rr.selection[0])
! 		else:
! 			fss = None
! 			good = 0
! ##	if typehandle:
! ##		typehandle.DisposeHandle()
! 	return fss, good
! 
! def StandardPutFile(prompt, default=None):
! 	"""Ask the user for an output file, with a prompt. Optionally you cn supply a
! 	default output filename"""
! 	args = {}
! 	flags = 0x07
! 	if prompt:
! 		args['message'] = prompt
! 	args['preferenceKey'] = 'PyMC'
! 	if _movablemodal:
! 		args['eventProc'] = None
! 	if default:
! 		args['savedFileName'] = default
! 	args['dialogOptionFlags'] = flags
! 	_handleSetFolder(args)
! 	try:
! 		rr = Nav.NavPutFile(args)
! 		good = 1
! 	except Nav.error, arg:
! 		if arg[0] != -128: # userCancelledErr
! 			raise Nav.error, arg
! 		good = 0
! 		fss = None
! 	else:
! 		fss = FSSpec(rr.selection[0])
! 	return fss, good
! 	
! def SetFolder(folder):
! 	global _curfolder
! 	if _curfolder:
! 		rv = _curfolder
! 	else:
! 		rv = None
! 	_curfolder = FSSpec(folder)
! 	return rv
! 	
! def _handleSetFolder(args):
! 	global _curfolder
! 	if not _curfolder:
! 		return
! 	import aepack
! 	fss = _curfolder
! 	aedesc = aepack.pack(fss)
! 	args['defaultLocation'] = aedesc
! 	_curfolder = None
! 	
! def GetDirectory(prompt=None):
! 	"""Ask the user to select a folder. Optionally you can give a prompt."""
! 	args = {}
! 	flags = 0x17
! 	if prompt:
! 		args['message'] = prompt
! 	args['preferenceKey'] = 'PyMC'
! 	if _movablemodal:
! 		args['eventProc'] = None
! 	args['dialogOptionFlags'] = flags
! 	_handleSetFolder(args)
! 	try:
! 		rr = Nav.NavChooseFolder(args)
! 		good = 1
! 	except Nav.error, arg:
! 		if arg[0] != -128: # userCancelledErr
! 			raise Nav.error, arg
! 		good = 0
! 		fss = None
! 	else:
! 		fss = FSSpec(rr.selection[0])
! 	return fss, good
! 	
--- macfsn.py DELETED ---

AltStyle によって変換されたページ (->オリジナル) /