Я хотел бы искать дорожки на iTunes с помощью сценария Python на Mac OS/X. Я нашел способ получить доступ к приложению iTunes через:
iTunes = SBApplication.applicationWithBundleIdentifier_("com.apple.iTunes")
но я (еще) не выяснил способ выполнить поиски. Немного справки ценится.
Отказ от ответственности: Новичок OS/X здесь.
Примечание: Я не ищу способы получить доступ к базе данных XML/plist непосредственно.
Вы можете попробовать appscript (обратите внимание, вам понадобится ASDictionary для онлайн-справки):
>>> import appscript
>>> iTunes = appscript.app("iTunes")
>>> lib = iTunes.playlists['Library']
>>> for trk in lib.tracks():
... if re.search("test", trk.name()):
... print trk.name()
Это может дать вам максимальный контроль, повторяя каждый пункт, но есть и гораздо более быстрый способ, используя для поиска хуки applescript:
>>> trks = lib.tracks[appscript.its.name.contains('test')]
>>> print trks.name()
Также ознакомьтесь с этими примерами использования appscript .
Что вы думаете:
script = '''tell application "iTunes"
repeat with bTrack in (every track of playlist 7 whose artist contains "Golden")
print bTrack
end repeat
end tell'''
tracks,_ = subprocess.Popen("osascript -e %s" % script, stdout=subprocess.PIPE).communicate()
trackList = tracks.split('\n')
Я никогда не тестировал это…
Это может быть бесполезный ответ, но я бы посоветовал вам использовать AppleScript вместо Python. Взгляните на этот фрагмент кода:
tell application "iTunes"
repeat with bTrack in (every track of playlist 7 whose artist contains "Golden")
...
Идеальные руководства можно найти здесь: http : //macscripter.net/viewtopic.php? id = 25631