Definir aplicativo aberto padrão para um programa Python em um Mac

1

Eu uso o aplicativo de código aberto UliPad para editar os arquivos de texto reestruturados (rst). É uma aplicação em Python que eu inicio via Terminal da seguinte forma:

python32 UliPad.py

Eu tenho python32 como um alias para a instalação de 32 bits do Python na minha máquina. Eu tenho várias versões instaladas.

Primeiramente, gostaria de lançar o UliPad como outros aplicativos do OS X. Não tenho certeza como fazer isso.

Em segundo lugar, gostaria de definir todos os arquivos .rst a serem abertos com UliPad.py . Existe uma maneira de fazer isso? Eu sei como escolher o aplicativo padrão no Finder, mas não sei como escolher o UliPad como esse aplicativo.

    
por Vincent 25.04.2010 / 20:49

1 resposta

2

Para sua segunda pergunta, de acordo com Como associar a extensão ".exe" a ser aberta com o Mono? , você precisa de um .app bundle:

Apparently, when using Finder's GUI, only .app files (application bundles) can be selected.

Se isso também é verdade para os scripts Python, então minha resposta nessa pergunta pode ajudar, com o Passo 5:

5. Replace echo "$f" with python32 UliPad.py "$f"

Portanto, em resumo, crie um "aplicativo" do Automator para executar o seguinte script do Shell:

PYTHON=/Library/Frameworks/Python.framework/Versions/6.1/bin/python/
ULIPAD=/Users/vmd/Dropbox/Ulipad/UliPad.py
if [ $# -eq 0 ]
then
  # No parameters passed; just run it without any files:
  $PYTHON $ULIPAD
else
  # Run an instance for each file:
  for f in "$@"
  do
    $PYTHON $ULIPAD "$f"
  done
fi

... ou talvez você possa passar vários arquivos para UliPad.py de uma só vez:

PYTHON=/Library/Frameworks/Python.framework/Versions/6.1/bin/python/
ULIPAD=/Users/vmd/Dropbox/Ulipad/UliPad.py
$PYTHON $ULIPAD "$@"

Quanto à sua primeira pergunta: você deve ser capaz de usar o mesmo aplicativo "Automator" para iniciar o UliPad sem abrir nenhum arquivo (se de fato você precisar executá-lo sem parâmetros, como eu assumi acima). / p>     

por 25.04.2010 / 21:07