OVH Cloud OVH Cloud

ROT13, AppleScript et Services

113 réponses
Avatar
derfnam
Bonjour à toutes et à tous,

Je cherche un outil simple pour encoder-décoder en ROT13 avec mon Mac.
Jusqu'à Snow Leopard, il y avait Rot13 Converter:
<https://www.dropbox.com/sh/bfrqr5k5z63ebf2/AAD4H7pDeocvsRMYzSPG0MNda?dl=0>

C'est donc une app PPC, il faut trouver autre chose. En cherchant, j'ai
trouvé ces pages, où il est question à la fois d'AppleScript et des
Services d' OS X:
<https://gist.github.com/nslater/4007384>
<http://rosettacode.org/wiki/Rot-13#AppleScript>

J'ai essayé d'installer le service décrit dans la 1ere de ces pages,
mais bien que l'anglais ne soit pas un obstacle, je cale :(
D'autre par, ne serait-il pas possible d'adapter Rot13 Converter en app
compatible Intel, et donc utilisable avec Lion et suivants?

A vot'boncoeur, M'sieursDames :)
--
Surfer sur internet c'est comme pour le sexe : tout le monde se vante de
faire plus qu'il ne fait. Mais pour le cas d'Internet, on se vante bien
plus.
Tom Fasulo, Journaliste

10 réponses

Avatar
josephb
DV a élucubré :
Voilà. Je me suis emmêlé les pinceaux. En fait, je décode avec :
"tr a-zA-Z z-za-yZ-ZA-Y <<<"
et j'encode avec :
"tr a-zA-Z b-za-aB-ZA-A <<<"

Humm, la digestion du pousse-café n'est pas encore finie ?
Cordialement
--
J. B.
Damned, le spouniseur valvulé ne peut pas stabiliser la bulbo-vague à
court rayon d'action ! Nous allons être obligés de décoder le
thermo-ressort connotatif...
Avatar
josephb
M.V. a écrit,
Ça deviendra donc :
++++++++++
set myText to do shell script "tr a-zA-Z b-za-aB-ZA-A <<<" &
quoted form of myText
delay 0.2
set the clipboard to myText
++++++++++

Si je puis me permettre,
il serait plus judicieux de mettre la boucle repeat à l'intérieur des blocs "tell" et non
l'inverse.
Chez moin un delay de 0.1 suffit et le comptage doit commencer à 1,
l'affichage mis à (26- compteur) et ce n'est qu'à la fin de la boucle qu'il est incrémenté de 1
quelque chose comme ça :
………………………
set compteur to 1
tell application "TextEdit"
activate
tell application "System Events"
repeat 25 times
set myText to the clipboard
set myText to do shell script "tr a-zA-Z b-za-aB-ZA-A <<<" & quoted form of myText
delay 0.1
set the clipboard to myText
keystroke "En Rot-" & (26 - compteur) & " : " & return
keystroke "v" using command down
keystroke return & return
set compteur to (compteur + 1)
end repeat
end tell
end tell
--
J. B.
Avatar
DV
Joseph-B a écrit ceci :
Humm, la digestion du pousse-café n'est pas encore finie ?

Quoi, j'ai encore dit une bêtise ? J'aurais pondu un script qui
fonctionne alors qu'il ne devrait pas ? ;-)
--
Denis
Avatar
josephb
DV, dans un sursaut d'incrédulité, s'est fendu d'un :
Quoi, j'ai encore dit une bêtise ? J'aurais pondu un script qui
fonctionne alors qu'il ne devrait pas ? ;-)

Exactement !
Non, c'est moi qui ai mal lu la première ligne (avec les "y" au lieu des
"b") car en fait, comme je le montre ailleurs, on peut très bien décoder
et compter juste avec le script original de M.V., il suffit juste de
bien gérer le comptage
--
J. B.
Capitaine, je ne peux pas ioniser le pulso-endiguement parce que le
conduit parallèle est sur le point de surcharger l'extra-matière
moncturienne !
Avatar
michel.vauquois
Bonjour,
Joseph-B, toujours plein de ressouces, suggère la solution suivante :
Si je puis me permettre,

Je ne sais pas si tu peux...
il serait plus judicieux de mettre la boucle repeat à l'intérieur des
blocs "tell" et non l'inverse.

Pourquoi "plus judicieux" ? Pour éviter d'appeler 25 fois les applis ?
Tu as raison bien sûr.
Chez moin un delay de 0.1 suffit

Chez moi aussi... mais systématiquement maintenant je mets des delay de
0.2 et je n'avais pas testé 0.1 !
et le comptage doit commencer à 1, l'affichage mis à (26- compteur) et ce
n'est qu'à la fin de la boucle qu'il est incrémenté de 1

Je ne pense pas que ça, ça change grand-chose... si ?
Amicalement.
--
Michel Vauquois
<http://michelvauquois.free-h.fr>
Avatar
DV
Joseph-B a écrit ceci :
Exactement !

Je suis trop fort. ;-)
Non, c'est moi qui ai mal lu la première ligne (avec les "y" au lieu des
"b") car en fait, comme je le montre ailleurs, on peut très bien décoder
et compter juste avec le script original de M.V., il suffit juste de
bien gérer le comptage

Bien sûr. Mais comme mon script décode *et* encode, j'ai trouvé plus
pratique de modifier simplement cette chaîne de caractères selon le
choix de l'utilisateur.
--
Denis
Au bonheur des scripts
http://s173327841.onlinehome.fr/agora-project_3.1.7/
Avatar
josephb
M.V. a prestement réagi de ses doigts boudinés :
et le comptage doit commencer à 1, l'affichage mis à (26- compteur) et ce
n'est qu'à la fin de la boucle qu'il est incrémenté de 1

Je ne pense pas que ça, ça change grand-chose... si ?

Question de principe, je dirais :
n'incrémenter (ou décrémenter) un n° de boucle que quand tout ce qu'elle
est censée faire est fait. Mais je suis peut-être un vieux machin
procédurier ?
Alors, commence à 25 et seulement après le dernier keystroke décrémente
le compteur.
Sans ta permission ;-)
Amicalement,
--
J. B.
Voici l'annihilateur centrique dont il est temps de turbo-ioniser le
trans-coeur parallèle sans oublier d'ouvrir le pseudo-transporteur
carpien.
Avatar
michel.vauquois
Re-bonjour,
Joseph-B, le John Deere de fcomox, a gribouillé :
M.V. a prestement réagi de ses doigts boudinés :

pffffttt... J'ai des doigts de pianistes !
> et le comptage doit commencer à 1, l'affichage mis à (26- compteur) et ce
> n'est qu'à la fin de la boucle qu'il est incrémenté de 1
Je ne pense pas que ça, ça change grand-chose... si ?

Question de principe, je dirais :
n'incrémenter (ou décrémenter) un n° de boucle que quand tout ce qu'elle
est censée faire est fait.

Ça se tient. Pour moi, le compteur servait à compter dans quelle boucle
on entrait et non pas quelle boucle avait été effectuée.
Alors, commence à 25 et seulement après le dernier keystroke décrémente
le compteur.
Sans ta permission ;-)

Bien chef !
Amicalement.
--
Michel Vauquois - <http://michelvauquois.free-h.fr>
Pas de panique ! Anti-stabiliser la causalité localisée ne nous empêche
pas de dupliquer le graviton moléculaire ni même de calcifrer le
translateur dimensionnel.
Avatar
derfnam
Hi,
l'implacable M.V. bien décidé à nous surprendre, a écrit ceci :
Bonjour,
L'extravagant Manfred La Cassagnère, hamadryade des forums, nous susurre
:
Bien joué! Ça marche dans TextEdit et dans Mail, par exemple. Merci!

C'est censé fonctionner dans toutes les applications gérant du texte en
écriture...

Ici, dans Word 2011, LibreOffice Writer 5.0.5.2 et OpenOffice Writer
4.1.2, le ctrl-clic sur le texte collé et sélectionné ne me permet pas
d'accéder à la ligne "Services", puis au service ROT-13.
Je n'y arrive que dans Mail, TextEdit et Pages 5.2.2... Warum?
--
On n'a pas besoin d'être en pyjama pour exprimer ses convictions.
Raffarinade 2/10
Avatar
michel.vauquois
Bonsoir,
Le durchéant Manfred La Cassagnère, au bord de la crise de nerfs, nous a
confié :
Ici, dans Word 2011, LibreOffice Writer 5.0.5.2 et OpenOffice Writer
4.1.2, le ctrl-clic sur le texte collé et sélectionné ne me permet pas
d'accéder à la ligne "Services", puis au service ROT-13.
Je n'y arrive que dans Mail, TextEdit et Pages 5.2.2... Warum?

Pour OpenOffice (et j'imagine que c'est pareil pour les autres), il
n'accepte aucun service... ni Rot-13 ni les autres... Pourquoi ? C'est
comme ça... ;-(
Salutations.
--
Michel Vauquois
<http://michelvauquois.free-h.fr>