# # 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)