Firing up Terminal da un flusso di lavoro di Automator?

6

Molto spesso utilizzo il comando python -m SimpleHTTPServer nel Terminale per attivare un server web per testare le app. Avendo appena appreso le basi di Automator, ho pensato che sarebbe stato utile per questo, aggiungendo quanto segue come servizio che ora posso fare clic con il pulsante destro del mouse su una cartella e avviare un server web che punta a quella cartella.

cd $1
python -m SimpleHTTPServer 8000

L'unico problema che ho, è la mancanza di output dal flusso di lavoro. Farlo manualmente Ho una finestra di terminale che mostra le richieste in arrivo e che mi consente di Ctrl + C per terminare il server web.

Il flusso di lavoro di Automator è silenzioso e devo aprire Activity Monitor e chiudere Python per chiuderlo. C'è un modo per farlo eseguire lo script in una finestra di Terminale?

    
posta littlecharva 20.09.2011 - 09:45
fonte

2 risposte

6

Ho capito come fare da solo basandomi sull'adattamento del seguente articolo.

link

Aggiunta una riga per eseguire il comando python:

on run {input, parameters}
  tell application "Terminal"
    activate
    if (the (count of the window) = 0) or ¬
     (the busy of window 1  = true) then
      tell application "System Events"
        keystroke "n" using command down
      end tell
    end if
    do script "cd \"" & (POSIX path of ¬
     (input as string)) & "\"" in window 1
    do script "python -m SimpleHTTPServer 8000" in window 1
  end tell
  return input
end run
    
risposta data 21.09.2011 - 08:18
fonte
4

Se ti piace usare Automator, prova il Growl Notifier in Automator (sotto c'è un esempio). Growl è estensibile a quasi tutte le applicazioni / script / servizi su OS X. Funziona davvero bene per mostrare l'output per quasi tutto ciò che si può immaginare .

    
risposta data 20.09.2011 - 09:56
fonte

Leggi altre domande sui tag