In article <21b38dbc-8071-6179-89c7-b9cbb050a...@me.com>, David Stokes <sto...@mac.com> wrote: > Can the iTunes library database be accessed directly via Python? What I want > to do are some fairly basic manipulations of the data but using the scripting > API (from both appscript and AppleScript) was ridiculously slow; operations > that took seconds in comparable manipulations of a SQLite database of a > similar size took multiple hours. I had thought I'd heard that iTunes uses -- > or once used -- SQLite, but either it has changed or I was just looking in > the wrong place. > > If nothing else, I suppose I can use an XML export of the > library data and then re-import it.
Keep in mind that, depending on how your iTunes library is configured, changes to a track's metadata may cause iTunes to update the metadata in the music file (mp3 tags, etc), which may take a long time to rewrite each affected music file. That can make mass updates *very* slow regardless of how you do it: manually or through a scripting interface. You can parse the iTunes XML file easily in Python but, AFAIK, the only ways to then update the iTunes data are by either reimporting the modified XML library file, which might cause you to lose some information, or through the scripting API; I don't know of any public APIs to iTunes internal DBs. If you don't care about the tags in the music files themselves, you may be able to inhibit the file updates by experimenting with some of the iTunes preferences or possibly by temporarily changing the music files' permissions. -- Ned Deily, n...@acm.org _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG