Удалить песню из плейлиста iTunes на основе списка, разделенного табуляцией - PullRequest
0 голосов
/ 22 сентября 2018

Как я могу использовать Applescript для удаления любых песен из myPlaylist, если они содержат одно из имен + исполнителей + годы, содержащиеся в файле, разделенном табуляцией?

Так что, если дорожка одного из myPlaylist равна:

'Greensleeves The Scorpions 1965'

и текстовый файл с разделителями табуляции содержит строку:

Greensleeves The Scorpions 1965

Удалит трек из плейлиста,Кроме того, это должен быть точный заголовок, потому что некоторые из названий моих песен содержат скобки и нечетные символы.

Спасибо!

1 Ответ

0 голосов
/ 23 сентября 2018
use application "iTunes"
use scripting additions
--------------------------------------------------------------------------------
###USER-DEFINED PROPERTIES: path, playlist
property path : "~/Desktop/trackdelete.list"
property playlist : "myPlaylist"
--------------------------------------------------------------------------------
property text item delimiters : tab
--------------------------------------------------------------------------------
###IMPLEMENTATION
#
#
tell the deleteList
    if not (its file exists) then return -1

    read

    repeat with i from 1 to the length of its list
        set [its name, its artist, its year] to ¬
            [text item 1, text item 2, text item 3] of ¬
            item i of its list

        delete (playlistItem's track where ¬
            name = deleteList's name and ¬
            artist = deleteList's artist and ¬
            year = deleteList's year)
    end repeat
end tell
--------------------------------------------------------------------------------
###SCRIPT OBJECTS & HANDLERS
#
#
script playlistItem
    property playlist : a reference to the playlist named (my playlist)
    property track : a reference to every track of my playlist
end script

script deleteList
    property application : application "System Events"
    property file : a reference to file (my path) of my application
    property list : null
    property name : null
    property artist : null
    property year : null

    to read
        tell AppleScript to read (my file as alias)
        set my list to the result's paragraphs
    end read
end script
---------------------------------------------------------------------------❮END❯

Информация о системе: Версия AppleScript : "2,7", версия системы : "10.13.6"

...