Bonjour,
Voila mon objectif : faire un clic droit sur morceau de texte sélectionné et exécuter un service OSX qui me fasse une recherche sur un site prédéfini avec pour argument le texte sélectionné au curseur.
J'arrive à faire cela, mais :
- soit le site avec la recherche s'ouvre dans un nouvel onglet de safari, et cela fonctionne à tous les coups, peu importe que le texte sélectionné comporte des caractères spéciaux ou accentués (mais je voudrais que ce soit dans une fenêtre type "pop-up", comme le propose automator); et le code ressemble à ça :
on run {input, parameters}
- soit c'est la galère pour que mon URL soit correctement interprété (et je n'ai d'autre choix que de faire le formatage du texte sélectionné "à la main" en prenant le risque qu'il y ai des exceptions non gérées); et le code ressemble à ça :
Autant dire que la deuxième solution ne me plait pas du tout du fait des exceptions non gérées, de l'oubli d'information (les caractères spéciaux sont en fait supprimés, etc.). Et là, je ne gère même pas les caractères accentués...
La solution une est parfaite, dans le sens où c'est la fonction "open" qui se charge de formater correctement l'URL. Il me manque la même fonction script qui ouvre un pop-up en fait...
Bref, je n'arrive pas à trouver de solution satisfaisante pour modifier une URL... Si quelqu'un à une idée, ce serait génial !
Voila mon objectif : faire un clic droit sur morceau de texte sélectionné et exécuter un service OSX qui me fasse une recherche sur un site prédéfini avec pour argument le texte sélectionné au curseur.
J'arrive à faire cela, mais :
- soit le site avec la recherche s'ouvre dans un nouvel onglet de safari, et cela fonctionne à tous les coups, peu importe que le texte sélectionné comporte des caractères spéciaux ou accentués (mais je voudrais que ce soit dans une fenêtre type "pop-up", comme le propose automator); et le code ressemble à ça :
on run {input, parameters}
set myUrl to ("http://www.lesite.fr/recherche/?q=" as string) & input as string
do shell script "open " & quoted form of myUrl
end rundo shell script "open " & quoted form of myUrl
- soit c'est la galère pour que mon URL soit correctement interprété (et je n'ai d'autre choix que de faire le formatage du texte sélectionné "à la main" en prenant le risque qu'il y ai des exceptions non gérées); et le code ressemble à ça :
on run {input, parameters}
on findAndReplace(TheString)
[puis l'Action "Pop-up de site web" d'Automator récupéré l'URL]
set textSearch to findAndReplace(input as string)
set myUrl to ("http://www.site.fr/recherche/?q=" as string) & textSearch as string
return myUrl
end runset myUrl to ("http://www.site.fr/recherche/?q=" as string) & textSearch as string
return myUrl
on findAndReplace(TheString)
set ditd to text item delimiters
set text item delimiters to {" ", "'", ",", ":", "?", "!", "."}
set textItems to text items of TheString
set text item delimiters to "+"
set res to textItems as string
set text item delimiters to ditd
return res
end findAndReplaceset text item delimiters to {" ", "'", ",", ":", "?", "!", "."}
set textItems to text items of TheString
set text item delimiters to "+"
set res to textItems as string
set text item delimiters to ditd
return res
[puis l'Action "Pop-up de site web" d'Automator récupéré l'URL]
Autant dire que la deuxième solution ne me plait pas du tout du fait des exceptions non gérées, de l'oubli d'information (les caractères spéciaux sont en fait supprimés, etc.). Et là, je ne gère même pas les caractères accentués...
La solution une est parfaite, dans le sens où c'est la fonction "open" qui se charge de formater correctement l'URL. Il me manque la même fonction script qui ouvre un pop-up en fait...
Bref, je n'arrive pas à trouver de solution satisfaisante pour modifier une URL... Si quelqu'un à une idée, ce serait génial !