OVH Cloud OVH Cloud

CM "ouvrir avec..."

13 réponses
Avatar
pere.noel
j'utilise souvent le menu contextuel "ouvrir avec ..."

mais je suis à la recherche d'un truc similaire qui ouvrirais (dans le
cas d'une page html présente dans l'arborescence HOME/Sites) par :

http://mon.domaine.org/Path/qui/va/bien/mon_fichier.[html|htm|php|cgi|rb
x|...]

bon créer cette translation, je sais faire, pas de pb, ce que je ne sais
pas faire du tout c'est l'incorporer dans un menu contextuel, si qq'un a
des pistes...

--
une bévue

10 réponses

1 2
Avatar
Patrick Stadelmann
In article <1hmq24k.1b9uj5s8bw5ppN%,
(Une bévue) wrote:

j'utilise souvent le menu contextuel "ouvrir avec ..."

mais je suis à la recherche d'un truc similaire qui ouvrirais (dans le
cas d'une page html présente dans l'arborescence HOME/Sites) par :

http://mon.domaine.org/Path/qui/va/bien/mon_fichier.[html|htm|php|cgi|rb
x|...]

bon créer cette translation, je sais faire, pas de pb, ce que je ne sais
pas faire du tout c'est l'incorporer dans un menu contextuel, si qq'un a
des pistes...


Soit via le menu Script en récupérant le sélection dans le Finder, soit
via un véritable menu contextuel :

<http://developer.apple.com/documentation/MacOSX/Conceptual/OSX_Technolog
y_Overview/SoftwareDevelopment/chapter_3_section_4.html>

Patrick
--
Patrick Stadelmann

Avatar
pere.noel
Patrick Stadelmann wrote:

Soit via le menu Script en récupérant le sélection dans le Finder, soit
via un véritable menu contextuel :

<http://developer.apple.com/documentation/MacOSX/Conceptual/OSX_Technolog
y_Overview/SoftwareDevelopment/chapter_3_section_4.html>


ok, merci bien, je préfère un véritable menu contextuel.

j'ai vu "Contextual Menu Workshop 1.5" de abracode mais c'est en cpp...

je préférerais soit du shell (zsh) soit C soit ObjC...

enfin je vais lire cette ref apple.
--
une bévue

Avatar
Patrick Stadelmann
In article <1hmqakw.17f041z1fh83tkN%,
(Une bévue) wrote:

ok, merci bien, je préfère un véritable menu contextuel.


Si jamais, il y a un exemple ici :
http://developer.apple.com/samplecode/SampleCMPlugIn/index.html

Patrick
--
Patrick Stadelmann

Avatar
blanc
Une bévue wrote:

j'utilise souvent le menu contextuel "ouvrir avec ..."

mais je suis à la recherche d'un truc similaire qui ouvrirais (dans le
cas d'une page html présente dans l'arborescence HOME/Sites) par :

http://mon.domaine.org/Path/qui/va/bien/mon_fichier.[html|htm|php|cgi|rb
x|...]

bon créer cette translation, je sais faire, pas de pb, ce que je ne sais
pas faire du tout c'est l'incorporer dans un menu contextuel, si qq'un a
des pistes...


Deux pistes :

1) OnMycommand avec son editeur OMCEdit

2) Finderpop avec un script qui ferait la translation

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
pere.noel
Patrick Stadelmann wrote:


Si jamais, il y a un exemple ici :
http://developer.apple.com/samplecode/SampleCMPlugIn/index.html


en fait mon menu contextuel marche déjà MAIS grâce à un add-on :

BigCat : <http://ranchero.com/bigcat/>

j'ai réalisé un script shell zsh, ça marche impec excepté un cas de
figure, quand le unix path est ***tordu***, du genre :

/Users/yvon/Sites/AJAX/tuto/OpenHosting/Ajax "Hello World" Example
by Nick Dunn, published by OpenHosting_fichiers/logo2.gif

pour les " " pas de pb avec zsh, ce qui pose pb ce sont les '"' (double
quotes dans le path, un echo de ce que voit mon script :

~%> getlocalurl /Users/yvon/Sites/AJAX/tuto/OpenHosting/Ajax "Hello
World" Example by Nick Dunn, published by
OpenHosting_fichiers/logo2.gif
The file "/Users/yvon/Sites/AJAX/tuto/OpenHosting/Ajax Hello World
Example by Nick Dunn, published by OpenHosting_fichiers/logo2.gif" does
not exists.

==>> les '"' ont disparu et le test :

[[ (! -f $1)]] && print "The file "$1" does not exists." && exit 0

dit que le fichier n'existe pas (alors que j'ai utilisé snap path to
unix pour avoir le path) et qu'il est conforme à ce que me donne le
finder.

==>> il me faut "escaper" les " donc, patpro me conseille sed :

sed 's,",",g'

ou d'utiliser un langage de script plus évolué que zsh (ruby par ex)...

mais bon je souhaite quand même pour pouvoir le distribuer à ce qu'il
n'y ait rien à installer, donc CM standard...
--
une bévue

Avatar
pere.noel
JPaul wrote:


1) OnMycommand avec son editeur OMCEdit

2) Finderpop avec un script qui ferait la translation


ah oh que voilà d'excellentes idées.

pour l'instant j'utilise BigCat :
<http://ranchero.com/bigcat/>
(voir ma réponse à Patrick.

comme j'utilise déjà OMCEdit et FnderPop...
--
une bévue

Avatar
blanc
Une bévue wrote:

j'ai réalisé un script shell zsh, ça marche impec excepté un cas de
figure, quand le unix path est ***tordu***, du genre :

/Users/yvon/Sites/AJAX/tuto/OpenHosting/Ajax "Hello World" Example
by Nick Dunn, published by OpenHosting_fichiers/logo2.gif


Oui ! "tordu" est le mot !

T'en a beaucoup des comme ça ?


pour les " " pas de pb avec zsh, ce qui pose pb ce sont les '"' (double
quotes dans le path, un echo de ce que voit mon script :

~%> getlocalurl /Users/yvon/Sites/AJAX/tuto/OpenHosting/Ajax "Hello
World" Example by Nick Dunn, published by
OpenHosting_fichiers/logo2.gif
The file "/Users/yvon/Sites/AJAX/tuto/OpenHosting/Ajax Hello World
Example by Nick Dunn, published by OpenHosting_fichiers/logo2.gif" does
not exists.

==>> les '"' ont disparu et le test :

[[ (! -f $1)]] && print "The file "$1" does not exists." && exit 0

dit que le fichier n'existe pas (alors que j'ai utilisé snap path to
unix pour avoir le path) et qu'il est conforme à ce que me donne le
finder.


Normal tout ça : les guillemets servent à neutraliser partiellement les
caractères dans le shell. Donc il faut les neutraliser eux-mêmes si tu
ne veux pas qu'ils soient interprétés comme tel. Soit avec escape "
soit avec apostrophes ' " ' (j'ai mis des espaces pour mieux voir).

Par contre ce qui m'étonne c'est que "snap path to unix" ne le fasse
pas. Ca se trouve où, ça ?


==>> il me faut "escaper" les " donc, patpro me conseille sed :

sed 's,",",g'


Ca me paraît une bonne solution.


ou d'utiliser un langage de script plus évolué que zsh (ruby par ex)...


zsh est déjà pas mal dans le genre.
ruby je n'ai jamais pratiqué.
il y a peut-être perl aussi (je dis ça mais jamais pratiqué non plus ;-)

mais bon je souhaite quand même pour pouvoir le distribuer à ce qu'il
n'y ait rien à installer, donc CM standard...


Tu peux aussi prévenir les utilisateurs de ne pas utiliser de noms
tordus pour leur fichiers/dossiers ;-)

JPaul
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
pere.noel
JPaul wrote:

Oui ! "tordu" est le mot !

T'en a beaucoup des comme ça ?


ben non, figures toi UN SEUL, et h'ai fait mon essai dessus comme par
hasard...


remarque, une petite manip au term :

~%>toto=/path/to/"Hello world !"/
~%>echo $toto
/path/to/Hello world !/

plus de "...

par contre avec (protection single quote) :
~%>toto='/path/to/"Hello world !"/'
~%>echo $toto
/path/to/"Hello world !"/

c'est bon, mais malheureusement je ne suis pas maître de l'argument
passé, c'est le finder (menu contectuel) qui me le file...



Normal tout ça : les guillemets servent à neutraliser partiellement les
caractères dans le shell. Donc il faut les neutraliser eux-mêmes si tu
ne veux pas qu'ils soient interprétés comme tel. Soit avec escape "
soit avec apostrophes ' " ' (j'ai mis des espaces pour mieux voir).

Par contre ce qui m'étonne c'est que "snap path to unix" ne le fasse
pas. Ca se trouve où, ça ?
tu trouves "PathSnagger (Previously CopyPath)" là :


<http://www.bergenstreetsoftware.com/>

effectivement c'est peut-être buggé ???

mais de toute façon je n'ai utilisé snag path to unix que pouur essai

c'est le finder qui me file le path à travers "BigCat1.0.1" :

<http://ranchero.com/bigcat/>
(le serveur est down en ce moment)

de cette manière je puis ajouter mon script shell au menu contextuel.



==>> il me faut "escaper" les " donc, patpro me conseille sed :

sed 's,",",g'


Ca me paraît une bonne solution.


mais ça ne marche pas (voir plus haut) car les " sont mangés par le
shell avant que je puisse filer $1 à sed...



ou d'utiliser un langage de script plus évolué que zsh (ruby par ex)...


zsh est déjà pas mal dans le genre.
ruby je n'ai jamais pratiqué.


ruby ne donne rien de mieux que zsh pour ce problème spécifique...

il y a peut-être perl aussi (je dis ça mais jamais pratiqué non plus ;-)

mais bon je souhaite quand même pour pouvoir le distribuer à ce qu'il
n'y ait rien à installer, donc CM standard...


Tu peux aussi prévenir les utilisateurs de ne pas utiliser de noms
tordus pour leur fichiers/dossiers ;-)


VOILA LA SOLUTION !!!!

j'y ai pensé figure toi ;-)
--
une bévue


Avatar
blanc
Une bévue wrote:

ben non, figures toi UN SEUL, et h'ai fait mon essai dessus comme par
hasard...


Ouf !...


mais de toute façon je n'ai utilisé snag path to unix que pouur essai

c'est le finder qui me file le path à travers "BigCat1.0.1" :


Ben non, ce n'est pas le Finder, c'est BigCat donc.
Le Finder il affiche ce qu'il voit (sauf 2 ou 3 exceptions telles que :
et /).

Par ailleurs si tu regardes ce que donne un drag & drop du Finder vers
le Terminal, tu verras que tes guillemets sont bien neutralisés !...





==>> il me faut "escaper" les " donc, patpro me conseille sed :

sed 's,",",g'


Ca me paraît une bonne solution.


mais ça ne marche pas (voir plus haut) car les " sont mangés par le
shell avant que je puisse filer $1 à sed...


Mais ton $1, tu le fabriques comment exactement ?
Et puis faut-il que tu te limites à $1ou bien peux-tu prendre tous les
arguments ?


Tu peux aussi prévenir les utilisateurs de ne pas utiliser de noms
tordus pour leur fichiers/dossiers ;-)


VOILA LA SOLUTION !!!!


Pas crier !...


j'y ai pensé figure toi ;-)


:-)

JPaul.
--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE



Avatar
pere.noel
JPaul wrote:

mais de toute façon je n'ai utilisé snag path to unix que pouur essai

c'est le finder qui me file le path à travers "BigCat1.0.1" :


Ben non, ce n'est pas le Finder, c'est BigCat donc.
Le Finder il affiche ce qu'il voit (sauf 2 ou 3 exceptions telles que :
et /).

Par ailleurs si tu regardes ce que donne un drag & drop du Finder vers
le Terminal, tu verras que tes guillemets sont bien neutralisés !...


oui, merci, je n'avais pas essayé ça :

/Users/yvon/Sites/AJAX/tuto/OpenHosting/Ajax "Hello World" Example
by Nick Dunn, published by OpenHosting_fichiers/

(drag'n drop du dossier dans le term)


mais ça ne marche pas (voir plus haut) car les " sont mangés par le
shell avant que je puisse filer $1 à sed...


Mais ton $1, tu le fabriques comment exactement ?


ben c'est bigcat qui me le file, perso j'y touche pas.

mais bon je regarde du côté de "OMCEdit" qui a un "objet" prédefini :

__OBJ_PATH__

qui sera donc mon $1 sauf qu'avec OCMEdit, si j'ai bien compris il faut
utiliser bash et non zsh => traduction de mon script :

--- getlocalurl --------------------------------------------------------
#!/usr/bin/env zsh

# bin/getlocalurl

script_name=`basename $0`

HOME_SITES=$HOME/Sites

usage="Usage :nt$script_name <an existing file path under :
"$HOME_SITES">"

[[ ( $# -eq 0 )]] && print $usage && exit 0

[[ (! -f $1)]] && print "The file "$1" does not exists." && exit 0

rel_path=${1#$HOME_SITES}

[[ ($rel_path == $1)]] && print "The file "$1" is not under
$HOME_SITES." && exit 0

local_url=http://localhost$rel_path

echo "Opening $local_url with the default browser."

open $local_url

exit 0
------------------------------------------------------------------------

c'est la version cli de mon script, j'espère que le :

rel_path=${1#$HOME_SITES}

marche aussi en bash ;

si $1=/Users/yvon/Sites/AJAX/tuto/OpenHosting

alors $rel_path=/AJAX/tuto/OpenHosting

il me reste plus qu'à ajouter : http://localhost (*)

je pense améliorer mon script en sortant file:///path/to/the/file.ext
si ce n'est pas sous ~/Sites

j'espère aussi que mes test ne seront pas trop différent en bash...

Et puis faut-il que tu te limites à $1ou bien peux-tu prendre tous les
arguments ?


je n'ai qu'un argument.
--
une bévue


1 2