mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#
 | 
						|
# Fixfiletypes - Set mac filetypes to something sensible,
 | 
						|
#  recursively down a directory tree.
 | 
						|
#
 | 
						|
# It will only touch extensions it feels pretty sure about.
 | 
						|
# This script is useful after copying files from unix.
 | 
						|
#
 | 
						|
# Jack Jansen, CWI, 1995.
 | 
						|
#
 | 
						|
import os
 | 
						|
import macfs
 | 
						|
import sys
 | 
						|
import macostools
 | 
						|
 | 
						|
list = [
 | 
						|
	('.py', 'Pyth', 'TEXT'),
 | 
						|
	('.pyc', 'Pyth', 'PYC '),
 | 
						|
	('.c', 'CWIE', 'TEXT'),
 | 
						|
	('.h', 'CWIE', 'TEXT'),
 | 
						|
	('.as', 'ToyS', 'TEXT'),
 | 
						|
	('.hqx', 'BnHq', 'TEXT'),
 | 
						|
	('.cmif', 'CMIF', 'TEXT'),
 | 
						|
	('.cmc', 'CMIF', 'CMC '),
 | 
						|
	('.aiff', 'SCPL', 'AIFF'),
 | 
						|
	('.mpg', 'mMPG', 'MPEG'),
 | 
						|
]
 | 
						|
 | 
						|
def walktree(name, change):
 | 
						|
	if os.path.isfile(name):
 | 
						|
		for ext, cr, tp in list:
 | 
						|
			if name[-len(ext):] == ext:
 | 
						|
				fs = macfs.FSSpec(name)
 | 
						|
				curcrtp = fs.GetCreatorType()
 | 
						|
				if curcrtp <> (cr, tp):
 | 
						|
					if change:
 | 
						|
						fs.SetCreatorType(cr, tp)
 | 
						|
						macostools.touched(fs)
 | 
						|
						print 'Fixed ', name
 | 
						|
					else:
 | 
						|
						print 'Wrong', curcrtp, name
 | 
						|
	elif os.path.isdir(name):
 | 
						|
		print '->', name
 | 
						|
		files = os.listdir(name)
 | 
						|
		for f in files:
 | 
						|
			walktree(os.path.join(name, f), change)
 | 
						|
			
 | 
						|
def run(change):
 | 
						|
	fss, ok = macfs.GetDirectory('Folder to search:')
 | 
						|
	if not ok:
 | 
						|
		sys.exit(0)
 | 
						|
	walktree(fss.as_pathname(), change)
 | 
						|
	
 | 
						|
if __name__ == '__main__':
 | 
						|
	run(1)
 | 
						|
	
 | 
						|
	
 |