cpython/Mac/scripts/fixfiletypes.py

57 lines
1.2 KiB
Python
Raw Normal View History

#
# 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
2003-01-26 17:40:00 -04:00
import EasyDialogs
import sys
import macostools
2003-02-06 19:13:11 -04:00
import MacOS
list = [
('.py', 'Pyth', 'TEXT'),
('.pyc', 'Pyth', 'PYC '),
('.c', 'CWIE', 'TEXT'),
('.h', 'CWIE', 'TEXT'),
('.as', 'ToyS', 'TEXT'),
('.hqx', 'BnHq', 'TEXT'),
('.cmif', 'CMIF', 'TEXT'),
1996-03-18 09:33:15 -04:00
('.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:
2003-02-06 19:13:11 -04:00
curcrtp = MacOS.GetCreatorAndType(name)
if curcrtp <> (cr, tp):
if change:
2003-02-06 19:13:11 -04:00
MacOS.SetCreatorAndType(name, 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):
2003-01-26 17:40:00 -04:00
pathname = EasyDialogs.AskFolder(message='Folder to search:')
if not pathname:
sys.exit(0)
2003-01-26 17:40:00 -04:00
walktree(pathname, change)
if __name__ == '__main__':
2003-02-06 19:13:11 -04:00
run(0)