mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +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)
 | |
| 	
 | |
| 	
 | 
