File: flatten-itunes.py

File: flatten-itunes.py

"""
======================================================
initial version: see newer flatten-itunes-2.py
 
flatten Itunes subfolder tree contents to store on
a usb drive, for copying onto a vehicle's harddrive;
endwith() now allows tuple of strings to try, so we
don't need any(filelower.endswith(x) for x in seq);
======================================================
"""
import os, pprint
flattenDir = r'D:\MarksItunes'
itunesRoot = r'C:\Users\mark\Stuff\Itunes'
playables = ('.mp3', '.m4a')
protected = ('.m4p',)
irrelevent = ('.jpg', '.ini', '.xml')
actions = dict(keep=[], skip=[], miss=[])
if not os.path.exists(flattenDir):
 os.mkdir(flattenDir)
for (dirHere, subsHere, filesHere) in os.walk(itunesRoot):
 for file in filesHere:
 filelower = file.lower()
 if filelower.endswith(playables):
 actions['keep'].append(file)
 cpfrom = os.path.join(dirHere, file)
 cpto = os.path.join(flattenDir, file)
 open(cpto, 'wb').write( open(cpfrom, 'rb').read() )
 elif filelower.endswith(protected):
 actions['skip'].append(file)
 elif not filelower.endswith(irrelevent):
 actions['miss'].append(file)
pprint.pprint(actions)
for key in 'keep', 'skip', 'miss':
 print('Total %s: %s' % (key, len(actions[key])))



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