mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
absolu suffit, à vérifier.
je viens juste de vérifier, ça ne marche pas :
zsh-% ./essai_pashua.rb
sh: /Applications/Utilities/Pashua/Pashua.app: is a directory
mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
absolu suffit, à vérifier.
je viens juste de vérifier, ça ne marche pas :
zsh-% ./essai_pashua.rb
sh: /Applications/Utilities/Pashua/Pashua.app: is a directory
mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
absolu suffit, à vérifier.
je viens juste de vérifier, ça ne marche pas :
zsh-% ./essai_pashua.rb
sh: /Applications/Utilities/Pashua/Pashua.app: is a directory
Comment je l'utilise en Applescript :
(* Pashua_Setting = contient les paramètres pour Pashua
PathToHelpers = chemin du dossier où est Pashua.app
*)
set PathToPashua to quoted form of POSIX path of ¬
(PathToHelpers & "Pashua.app:Contents:MacOS:Pashua" as string)
-- création du fichier temporaire passé à Pashua
set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
set PashuaTemp to POSIX file PashuaTemp
write Pashua_Setting to file PashuaTemp
set PashuaTemp to quoted form of POSIX path of PashuaTemp
-- appel de Pashua et récupération du résultat
set Pashua_Bin to (PathToPashua & " " & PashuaTemp & " ; sleep 1")
(*** sleep 1 : tempo pour Snow Leopard ***)
Attention, dans certaines conditions j'avais un fonctionnement aléatoire
sous SL.
Pashua plantait silencieusement et ne donnait rien en retour dans AS.
Le problème semble venir d'une conjonction entre "SL, machine rapide et
multiprocesseur", soit un défaut de synchronisation entre process.
La solution consiste à ajouter une tempo avant retour "sleep 1".
Signalé au développeur, pas réagit à ce jour.
Comment je l'utilise en Applescript :
(* Pashua_Setting = contient les paramètres pour Pashua
PathToHelpers = chemin du dossier où est Pashua.app
*)
set PathToPashua to quoted form of POSIX path of ¬
(PathToHelpers & "Pashua.app:Contents:MacOS:Pashua" as string)
-- création du fichier temporaire passé à Pashua
set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
set PashuaTemp to POSIX file PashuaTemp
write Pashua_Setting to file PashuaTemp
set PashuaTemp to quoted form of POSIX path of PashuaTemp
-- appel de Pashua et récupération du résultat
set Pashua_Bin to (PathToPashua & " " & PashuaTemp & " ; sleep 1")
(*** sleep 1 : tempo pour Snow Leopard ***)
Attention, dans certaines conditions j'avais un fonctionnement aléatoire
sous SL.
Pashua plantait silencieusement et ne donnait rien en retour dans AS.
Le problème semble venir d'une conjonction entre "SL, machine rapide et
multiprocesseur", soit un défaut de synchronisation entre process.
La solution consiste à ajouter une tempo avant retour "sleep 1".
Signalé au développeur, pas réagit à ce jour.
Comment je l'utilise en Applescript :
(* Pashua_Setting = contient les paramètres pour Pashua
PathToHelpers = chemin du dossier où est Pashua.app
*)
set PathToPashua to quoted form of POSIX path of ¬
(PathToHelpers & "Pashua.app:Contents:MacOS:Pashua" as string)
-- création du fichier temporaire passé à Pashua
set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
set PashuaTemp to POSIX file PashuaTemp
write Pashua_Setting to file PashuaTemp
set PashuaTemp to quoted form of POSIX path of PashuaTemp
-- appel de Pashua et récupération du résultat
set Pashua_Bin to (PathToPashua & " " & PashuaTemp & " ; sleep 1")
(*** sleep 1 : tempo pour Snow Leopard ***)
Attention, dans certaines conditions j'avais un fonctionnement aléatoire
sous SL.
Pashua plantait silencieusement et ne donnait rien en retour dans AS.
Le problème semble venir d'une conjonction entre "SL, machine rapide et
multiprocesseur", soit un défaut de synchronisation entre process.
La solution consiste à ajouter une tempo avant retour "sleep 1".
Signalé au développeur, pas réagit à ce jour.
Soit dit, en passant, il a fallu que je modifie l'adaptation à ruby
(fichier Examples/Pashua.rb) qui ne trouvait pas le bin...
Même et surtout quand je lui donnait directement en arg ?
Maintenant c'est bon même avec '' comme arg de path et même si, comme
chez moi Pashua.app ce trouve dans :
/Applications/Utilities/Pashua
Amha, la bonne méthode est pluôt d'utiliser le Finder pour retrouver
l'appli avec :
$:.push(File.dirname($0)) # amha inutile sauf si on met Pashua.app dans
le même rep que le script de lancement
require 'Pashua'
include Pashua
require 'rubygems'
require 'appscript'
include Appscript
a_name = 'Pashua'
a = app(a_name)
puts a.to_s
# => app("/Applications/Utilities/Pashua/Pashua.app")
bizarement on ne peut avoir ni comme propriété ni comme méthode le path
de l'appli (?), mais je l'obtiens par une regex :
a_path = a.to_s.gsub(/^app("(.*)")$/, '1')
et le bin :
a_bin = "#{a_path}/Contents/MacOS/#{a_name}"
qui ne marche pas à tous les coups, par ex Firefox a un bin de nom
"firefox-bin".
mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
absolu suffit, à vérifier.
Soit dit, en passant, il a fallu que je modifie l'adaptation à ruby
(fichier Examples/Pashua.rb) qui ne trouvait pas le bin...
Même et surtout quand je lui donnait directement en arg ?
Maintenant c'est bon même avec '' comme arg de path et même si, comme
chez moi Pashua.app ce trouve dans :
/Applications/Utilities/Pashua
Amha, la bonne méthode est pluôt d'utiliser le Finder pour retrouver
l'appli avec :
$:.push(File.dirname($0)) # amha inutile sauf si on met Pashua.app dans
le même rep que le script de lancement
require 'Pashua'
include Pashua
require 'rubygems'
require 'appscript'
include Appscript
a_name = 'Pashua'
a = app(a_name)
puts a.to_s
# => app("/Applications/Utilities/Pashua/Pashua.app")
bizarement on ne peut avoir ni comme propriété ni comme méthode le path
de l'appli (?), mais je l'obtiens par une regex :
a_path = a.to_s.gsub(/^app("(.*)")$/, '1')
et le bin :
a_bin = "#{a_path}/Contents/MacOS/#{a_name}"
qui ne marche pas à tous les coups, par ex Firefox a un bin de nom
"firefox-bin".
mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
absolu suffit, à vérifier.
Soit dit, en passant, il a fallu que je modifie l'adaptation à ruby
(fichier Examples/Pashua.rb) qui ne trouvait pas le bin...
Même et surtout quand je lui donnait directement en arg ?
Maintenant c'est bon même avec '' comme arg de path et même si, comme
chez moi Pashua.app ce trouve dans :
/Applications/Utilities/Pashua
Amha, la bonne méthode est pluôt d'utiliser le Finder pour retrouver
l'appli avec :
$:.push(File.dirname($0)) # amha inutile sauf si on met Pashua.app dans
le même rep que le script de lancement
require 'Pashua'
include Pashua
require 'rubygems'
require 'appscript'
include Appscript
a_name = 'Pashua'
a = app(a_name)
puts a.to_s
# => app("/Applications/Utilities/Pashua/Pashua.app")
bizarement on ne peut avoir ni comme propriété ni comme méthode le path
de l'appli (?), mais je l'obtiens par une regex :
a_path = a.to_s.gsub(/^app("(.*)")$/, '1')
et le bin :
a_bin = "#{a_path}/Contents/MacOS/#{a_name}"
qui ne marche pas à tous les coups, par ex Firefox a un bin de nom
"firefox-bin".
mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
absolu suffit, à vérifier.
Applescript paquet application.
Un truc hybride bien pratique.
Seul problème, il faut le construire en partie "à la main" afin de
mettre dedans toutes les ressources nécessaires.
> Tu peux le passer ?
Oui mais il faut savoir qu'il est fait pour être utilisé avec MediaPro
ou Expression Media.
Applescript paquet application.
Un truc hybride bien pratique.
Seul problème, il faut le construire en partie "à la main" afin de
mettre dedans toutes les ressources nécessaires.
> Tu peux le passer ?
Oui mais il faut savoir qu'il est fait pour être utilisé avec MediaPro
ou Expression Media.
Applescript paquet application.
Un truc hybride bien pratique.
Seul problème, il faut le construire en partie "à la main" afin de
mettre dedans toutes les ressources nécessaires.
> Tu peux le passer ?
Oui mais il faut savoir qu'il est fait pour être utilisé avec MediaPro
ou Expression Media.
bon, en fait, maintenant je vais lire l'Info.plist pour savoir quel est
l'exécutable, amha, c'est plus sûr, même si, pour Pashua, c'est
"Pashua"...
> -- création du fichier temporaire passé à Pashua
> set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
> set PashuaTemp to POSIX file PashuaTemp
> write Pashua_Setting to file PashuaTemp
Il faut vraiment passer la conf par un fichier temp ?
une string n'est pas OK ?
bon, en fait, maintenant je vais lire l'Info.plist pour savoir quel est
l'exécutable, amha, c'est plus sûr, même si, pour Pashua, c'est
"Pashua"...
> -- création du fichier temporaire passé à Pashua
> set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
> set PashuaTemp to POSIX file PashuaTemp
> write Pashua_Setting to file PashuaTemp
Il faut vraiment passer la conf par un fichier temp ?
une string n'est pas OK ?
bon, en fait, maintenant je vais lire l'Info.plist pour savoir quel est
l'exécutable, amha, c'est plus sûr, même si, pour Pashua, c'est
"Pashua"...
> -- création du fichier temporaire passé à Pashua
> set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
> set PashuaTemp to POSIX file PashuaTemp
> write Pashua_Setting to file PashuaTemp
Il faut vraiment passer la conf par un fichier temp ?
une string n'est pas OK ?
Bizarre : chez moi l'exemple en question trouve très bien le bin !...
Mais ne serait-ce pas parceque tu n'as pas mis l'appli Pashua
directement dans le dossier /Applications, mais dans un sous-dossier de
nom Pashua du sous-dossier Utilities ?
>
> Même et surtout quand je lui donnait directement en arg ?
Pourquoi ne pas le mettre le path directement dans le script ?
>
> Maintenant c'est bon même avec '' comme arg de path et même si, comme
> chez moi Pashua.app ce trouve dans :
>
> /Applications/Utilities/Pashua
Voilà.
>
> Amha, la bonne méthode est pluôt d'utiliser le Finder pour retrouver
> l'appli avec :
>
> $:.push(File.dirname($0)) # amha inutile sauf si on met Pashua.app dans
> le même rep que le script de lancement
>
> require 'Pashua'
> include Pashua
> require 'rubygems'
> require 'appscript'
> include Appscript
>
> a_name = 'Pashua'
> a = app(a_name)
> puts a.to_s
> # => app("/Applications/Utilities/Pashua/Pashua.app")
>
> bizarement on ne peut avoir ni comme propriété ni comme méthode le path
> de l'appli (?), mais je l'obtiens par une regex :
Bon là je ne comprends pas tout. Mais c'est sans doute normal, puisque
je ne connais pas Ruby. :-/
>
> a_path = a.to_s.gsub(/^app("(.*)")$/, '1')
Ruby me semble très compliqué, si on est obligé de faire de telles
astuces pour définir un chemin qui par ailleurs est parfaitement
connu !...
>
> et le bin :
>
> a_bin = "#{a_path}/Contents/MacOS/#{a_name}"
>
> qui ne marche pas à tous les coups, par ex Firefox a un bin de nom
> "firefox-bin".
Oui le nom de l'exécutable est en fait donné dans Info.plist :
<key>CFBundleExecutable</key>
<string>firefox-bin</string>
Mais dans le cas de Pashua, c'est bien Pashua.
Donc si tu mets le chemin complet en clair :
/Applications/Utilities/Pashua/Pashua.app/Contents/MacOS/Pashua
ça devrait marcher (àmha)
>
> mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
> path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
> absolu suffit, à vérifier.
Si, si , ils le disent bien dans la doc.
Bizarre : chez moi l'exemple en question trouve très bien le bin !...
Mais ne serait-ce pas parceque tu n'as pas mis l'appli Pashua
directement dans le dossier /Applications, mais dans un sous-dossier de
nom Pashua du sous-dossier Utilities ?
>
> Même et surtout quand je lui donnait directement en arg ?
Pourquoi ne pas le mettre le path directement dans le script ?
>
> Maintenant c'est bon même avec '' comme arg de path et même si, comme
> chez moi Pashua.app ce trouve dans :
>
> /Applications/Utilities/Pashua
Voilà.
>
> Amha, la bonne méthode est pluôt d'utiliser le Finder pour retrouver
> l'appli avec :
>
> $:.push(File.dirname($0)) # amha inutile sauf si on met Pashua.app dans
> le même rep que le script de lancement
>
> require 'Pashua'
> include Pashua
> require 'rubygems'
> require 'appscript'
> include Appscript
>
> a_name = 'Pashua'
> a = app(a_name)
> puts a.to_s
> # => app("/Applications/Utilities/Pashua/Pashua.app")
>
> bizarement on ne peut avoir ni comme propriété ni comme méthode le path
> de l'appli (?), mais je l'obtiens par une regex :
Bon là je ne comprends pas tout. Mais c'est sans doute normal, puisque
je ne connais pas Ruby. :-/
>
> a_path = a.to_s.gsub(/^app("(.*)")$/, '1')
Ruby me semble très compliqué, si on est obligé de faire de telles
astuces pour définir un chemin qui par ailleurs est parfaitement
connu !...
>
> et le bin :
>
> a_bin = "#{a_path}/Contents/MacOS/#{a_name}"
>
> qui ne marche pas à tous les coups, par ex Firefox a un bin de nom
> "firefox-bin".
Oui le nom de l'exécutable est en fait donné dans Info.plist :
<key>CFBundleExecutable</key>
<string>firefox-bin</string>
Mais dans le cas de Pashua, c'est bien Pashua.
Donc si tu mets le chemin complet en clair :
/Applications/Utilities/Pashua/Pashua.app/Contents/MacOS/Pashua
ça devrait marcher (àmha)
>
> mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
> path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
> absolu suffit, à vérifier.
Si, si , ils le disent bien dans la doc.
Bizarre : chez moi l'exemple en question trouve très bien le bin !...
Mais ne serait-ce pas parceque tu n'as pas mis l'appli Pashua
directement dans le dossier /Applications, mais dans un sous-dossier de
nom Pashua du sous-dossier Utilities ?
>
> Même et surtout quand je lui donnait directement en arg ?
Pourquoi ne pas le mettre le path directement dans le script ?
>
> Maintenant c'est bon même avec '' comme arg de path et même si, comme
> chez moi Pashua.app ce trouve dans :
>
> /Applications/Utilities/Pashua
Voilà.
>
> Amha, la bonne méthode est pluôt d'utiliser le Finder pour retrouver
> l'appli avec :
>
> $:.push(File.dirname($0)) # amha inutile sauf si on met Pashua.app dans
> le même rep que le script de lancement
>
> require 'Pashua'
> include Pashua
> require 'rubygems'
> require 'appscript'
> include Appscript
>
> a_name = 'Pashua'
> a = app(a_name)
> puts a.to_s
> # => app("/Applications/Utilities/Pashua/Pashua.app")
>
> bizarement on ne peut avoir ni comme propriété ni comme méthode le path
> de l'appli (?), mais je l'obtiens par une regex :
Bon là je ne comprends pas tout. Mais c'est sans doute normal, puisque
je ne connais pas Ruby. :-/
>
> a_path = a.to_s.gsub(/^app("(.*)")$/, '1')
Ruby me semble très compliqué, si on est obligé de faire de telles
astuces pour définir un chemin qui par ailleurs est parfaitement
connu !...
>
> et le bin :
>
> a_bin = "#{a_path}/Contents/MacOS/#{a_name}"
>
> qui ne marche pas à tous les coups, par ex Firefox a un bin de nom
> "firefox-bin".
Oui le nom de l'exécutable est en fait donné dans Info.plist :
<key>CFBundleExecutable</key>
<string>firefox-bin</string>
Mais dans le cas de Pashua, c'est bien Pashua.
Donc si tu mets le chemin complet en clair :
/Applications/Utilities/Pashua/Pashua.app/Contents/MacOS/Pashua
ça devrait marcher (àmha)
>
> mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
> path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
> absolu suffit, à vérifier.
Si, si , ils le disent bien dans la doc.
Mon premier est jpol
Mon deuxième est mon nom et tient à mon premier
Mon troisième est chez free
Mon quatrième rappelle que mon 3ème est en France
Mon tout est valide ;-)
Mon premier est jpol
Mon deuxième est mon nom et tient à mon premier
Mon troisième est chez free
Mon quatrième rappelle que mon 3ème est en France
Mon tout est valide ;-)
Mon premier est jpol
Mon deuxième est mon nom et tient à mon premier
Mon troisième est chez free
Mon quatrième rappelle que mon 3ème est en France
Mon tout est valide ;-)
Amha, il y a peu de chances qu'ils changent le nom de leur exécutable.
Mais si c'était le cas tu aurais bien le message qu'il n'est pas trouvé,
et tu n'aurais plus qu'à changer le nom dans ton script, non ?
> > -- création du fichier temporaire passé à Pashua
> > set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
> > set PashuaTemp to POSIX file PashuaTemp
> > write Pashua_Setting to file PashuaTemp
>
> Il faut vraiment passer la conf par un fichier temp ?
> une string n'est pas OK ?
D'après le read-me tu peux passer aussi par un pipe.
Je crois me souvenir avoir vu dans la doc que dans ce cas il fallait,
lors de l'appel de Pashua, mettre comme argument le caractère - plutôt
que le nom du fichier. Mais je n'ai pas retrouvé où c'était pour te
donner plus de détails.
Amha, il y a peu de chances qu'ils changent le nom de leur exécutable.
Mais si c'était le cas tu aurais bien le message qu'il n'est pas trouvé,
et tu n'aurais plus qu'à changer le nom dans ton script, non ?
> > -- création du fichier temporaire passé à Pashua
> > set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
> > set PashuaTemp to POSIX file PashuaTemp
> > write Pashua_Setting to file PashuaTemp
>
> Il faut vraiment passer la conf par un fichier temp ?
> une string n'est pas OK ?
D'après le read-me tu peux passer aussi par un pipe.
Je crois me souvenir avoir vu dans la doc que dans ce cas il fallait,
lors de l'appel de Pashua, mettre comme argument le caractère - plutôt
que le nom du fichier. Mais je n'ai pas retrouvé où c'était pour te
donner plus de détails.
Amha, il y a peu de chances qu'ils changent le nom de leur exécutable.
Mais si c'était le cas tu aurais bien le message qu'il n'est pas trouvé,
et tu n'aurais plus qu'à changer le nom dans ton script, non ?
> > -- création du fichier temporaire passé à Pashua
> > set PashuaTemp to do shell script ("mktemp -q -t Pashua_ini")
> > set PashuaTemp to POSIX file PashuaTemp
> > write Pashua_Setting to file PashuaTemp
>
> Il faut vraiment passer la conf par un fichier temp ?
> une string n'est pas OK ?
D'après le read-me tu peux passer aussi par un pipe.
Je crois me souvenir avoir vu dans la doc que dans ce cas il fallait,
lors de l'appel de Pashua, mettre comme argument le caractère - plutôt
que le nom du fichier. Mais je n'ai pas retrouvé où c'était pour te
donner plus de détails.
Il faut vraiment passer la conf par un fichier temp ?
une string n'est pas OK ?
bon, je lis sur <http://www.bluem.net/downloads/pashua_en/> :
Download Version: 0.9.4 (05/30/2007)
-------------------------------^^^^
donc, ça bouge plus...
Il faut vraiment passer la conf par un fichier temp ?
une string n'est pas OK ?
bon, je lis sur <http://www.bluem.net/downloads/pashua_en/> :
Download Version: 0.9.4 (05/30/2007)
-------------------------------^^^^
donc, ça bouge plus...
Il faut vraiment passer la conf par un fichier temp ?
une string n'est pas OK ?
bon, je lis sur <http://www.bluem.net/downloads/pashua_en/> :
Download Version: 0.9.4 (05/30/2007)
-------------------------------^^^^
donc, ça bouge plus...