Forçar a atualização do iTunes durante a noite usando cron

2

Eu queria saber se alguém sabia um 'comando' da linha de comando que eu poderia usar em um cron para forçar o atualizador de podcast do iTunes a funcionar da noite para o dia. Estou executando 10.6

wajiw
fonte
+1 se você: s / cron / launchd /
bmike
1
para qualquer pessoa com erros usando a solução, consulte este artigo para corrigi-los: kb2.adobe.com/cps/516/cpsid_51615.html
wajiw

Respostas:

3

Você pode usar o AppleScript a seguir para solicitar ao iTunes que atualize todos os seus feeds de podcast:

tell application "iTunes"
    updateAllPodcasts
end tell

Este AppleScript pode ser executado na linha de comando através do osascript :

osascript -e 'tell application "iTunes" to updateAllPodcasts'

Você pode usar uma variedade de ferramentas para agendar seu AppleScript para execução a cada noite. Uma opção é executar o AppleScript como parte de um evento do iCal: Como usar o iCal para executar um AppleScript

Como alternativa, você pode criar um tíquete de trabalho iniciado e colocá-lo em sua pasta.~/Library/LaunchAgents

Graham Miln
fonte
foi o que encontrei on-line e recebi um erro que trata do arco de 64 bits. Encontrei uma solução: arch -i386 osascript -e 'diga ao aplicativo "iTunes" para atualizarAllPodcasts' Obrigado pela ajuda! Cron funciona muito bem para mim =)
wajiw
É possível executar isso no "modo sem rosto", ou seja, sem precisar abrir o iTunes e executar a tarefa em segundo plano?
Henrik
0

Eu tenho alguns scripts envolvidos em um automatizador que faz toda a atualização para mim.

O primeiro script garante que os podcasts que não são ouvidos há algum tempo não sejam desativados. O segundo script atualiza os podcasts.

(*
"Update Expired Podcasts" for iTunes
written by Doug Adams
[email protected]

v1.0 aug 13, 2008
-- compatible with iTunes 7.7.1

v1.0 feb 15, 2007
-- initial release

Get more free AppleScripts and info on writing your own
at Doug's AppleScripts for iTunes
http://www.dougscripts.com/itunes/

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

Get a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

or visit http://www.gnu.org/copyleft/gpl.html

*)


tell application "iTunes"
    set podcast_playlist to some playlist whose special kind is Podcasts

    -- filter multiple names
    set each_podcast to {}
    set each_podcast to my get_discrete_list_of(get album of every track of podcast_playlist)

    -- update the podcasts
    if each_podcast is not {} then
        repeat with this_podcast in each_podcast
            set the_podcast to (some track of podcast_playlist whose album contains this_podcast)
            if (get class of the_podcast) is list then set the_podcast to item 1 of the_podcast
            updatePodcast the_podcast
        end repeat
    end if

end tell


to get_discrete_list_of(list1)
    script a
        property list1ref : list1
    end script

    set list2 to {}
    script b
        property list2ref : list2
    end script

    repeat with i from 1 to length of list1
        set this_item to item i of a's list1ref
        considering case
            if this_item is not "" and this_item is not in b's list2ref then set end of list2 to this_item
        end considering
    end repeat

    return b's list2ref

end get_discrete_list_of

Atualizar podcasts:

tell application "iTunes" to updateAllPodcasts

Não, não fui o criador dos scripts, mas esqueci o URL de origem original.

Mike Wills
fonte
obrigado pela ajuda, mas eu descobri uma solução =)
wajiw