0 votos

Descargar todo el historial de compras de iTunes como archivo CSV (MacOS High Sierra)

¿Alguien ha encontrado una forma de descargar el historial de compras de iTunes en algún tipo de csv o formato de texto?

Lo más cercano que pude encontrar fue esta respuesta de StackExchange de un gran script de Apple que podría automatizar esta tarea, pero el script no funciona con High Sierra y las nuevas versiones de iTunes.

https://apple.stackexchange.com/a/229240/288140

1voto

boris42 Puntos 100

Las siguientes obras en el último MacOS que estoy usando actualmente (High Sierra 10.13.5 Beta) y en el último iTunes (12.7.4.76).

He escrito un AppleScript que utiliza UI Scripting y compila una lista de canciones compradas en iTunes. El script abrirá un nuevo documento TextEdit y rellenará las canciones en un formato delimitado por comas y contendrá el número secuencial, el nombre de la canción, el artista, el álbum y la duración de la canción. El resultado será similar a esto:

"Nr","Song Name","Artist","Album","Duration"
"1","Badinerie","Lucero Tena","Lección de castañuelas","1:03"
"2","El colibrí","Lucero Tena","Lección de castañuelas","1:07"
"3","El relicario","Lucero Tena","Lección de castañuelas","1:36"

itunes

Aquí está el script:

tell application "iTunes" to activate
tell application "TextEdit"
    activate
    make new document at the front with properties {name:"iTunes purchased.txt"}
    delay 1
    tell application "System Events" to click menu item "Make Plain Text" of menu 1 of menu bar item "Format" of menu bar 1 of application process "TextEdit"
end tell
tell application "iTunes" to activate
tell application "System Events"
    keystroke "1" using {command down}
    set w to window "iTunes" of application process "iTunes"
    click radio button "Store" of radio group 1 of w
    delay 2
    set webarea to UI element 1 of scroll area 1 of group 1 of group 1 of splitter group 1 of w
    click static text "Purchased" of UI element "Purchased" of group 6 of list 2 of webarea
    delay 2
    click radio button "All" of tab group 1 of group 2 of webarea
    delay 3
    click radio button "Songs" of tab group 1 of group 5 of webarea
    delay 5
    set allRows to UI elements of table 1 of webarea
    set entireContent to quote & "Nr" & quote & "," & quote & "Song Name" & quote & "," & quote & "Artist" & quote & "," & quote & "Album" & quote & "," & quote & "Duration" & quote & return
    tell application "TextEdit" to activate
    repeat with aRow in allRows
        if class of aRow is row then
            set gr to UI element 1 of group 1 of UI element 2 of aRow
            if class of gr is group then
                set songNum to value of static text 1 of group 1 of UI element 1 of aRow
                set songName to value of static text 1 of group 2 of UI element 2 of aRow
                set songArtist to value of static text 1 of group 1 of UI element 1 of UI element 3 of aRow
                set album to UI element 1 of UI element 4 of aRow
                set songAlbum to ""
                if (count of UI elements of album) is greater than 0 then
                    set songAlbum to value of static text 1 of group 1 of album
                end if
                set songDuration to ""
                set dur to UI element 5 of aRow
                if (count of UI elements of dur) is greater than 0 then
                    set songDuration to value of static text 1 of group 1 of dur
                end if
                set aLine to quote & songNum & quote & "," & quote & songName & quote & "," & quote & songArtist & quote & "," & quote & songAlbum & quote & "," & quote & songDuration & quote
                set entireContent to entireContent & aLine & return
                tell application "TextEdit" to set text of front document to entireContent
            end if
        end if
    end repeat
end tell

El proceso no es rápido, en mi computadora toma alrededor de 1 segundo por canción así que prepárate para esperar un rato. Además, si empiezas a obtener algunos errores "fuera de índice" inténtalo, mientras el script se está ejecutando, desplazando la lista de canciones de iTunes en segundo plano para asegurarte de que se cargue todo el contenido de la lista antes de que se acceda a ella con AppleScript.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X