Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Scripts_MacSoup

27 réponses
Avatar
g4fleurot
Bonjour,

Je n'ai pas supprimé ma signature des préférences de MacSoup (pour l'utilisation d'autres forums) et
le résultat est celui obtenu en bas de ce message :
En fait, les fois précédentes, j'ai supprimé ma signature manuellement, mais j'ai pensé qu'il serait
peut être possible d'obtenir le résultat dans le script.

J'ai donc essayé de créer un droplet à insérer entre le dialogue d'ajout d'une signature et l'appel
de corvo, mais voilà, je tourne en rond.
Pas moyen de trouver la bonne syntaxe, et, confronté à mon incompétence, je me résouds à demander de
l'aide.
Voilà où j'en suis :

xxxxxxxxxxxxxx
--on myEraseSign()
copie()
set theAnswer to the clipboard
set mySign to ("-- " & return & "Gérard FLEUROT <g4fleurot@free.fr> plus un")
set RAZ to ""
if theAnswer contains mySign then
try
if the last paragraph of theAnswer exists then
set AppleScript's text item delimiters to "--"
set the last paragraph of theAnswer to RAZ
end if
on error
display alert "erreur"
end try
else
display alert "Il n'y a pas de signature à supprimer"
end if
set the clipboard to theAnswer
finalPaste() -- colle le corps du message modifié
--end myEraseSign

on finalPaste()
tell application "MacSOUP"
activate
tell application "System Events"
keystroke "v" using command down
end tell
end tell
return
end finalPaste

on copie()
tell application "MacSOUP"
delay 0.2
activate
tell application "System Events"
delay 0.2
keystroke "a" using command down
keystroke "c" using command down
end tell
end tell
delay 0.2
end copie
xxxxxxxxxxxxxx

La ligne qui pose problème est :
set the last paragraph of theAnswer to RAZ

Cordialement,
--
Gérard FLEUROT <g4fleurot@free.fr> plus un


--
Gérard FLEUROT [<g4fleurot@free.fr> plus un] vous informe que :
Il est possible que le tunnel linéaire puisse ultra-bouillir l'extra-matrice résistante, mais
seulement si nous pouvons fracasser la crypto-singularité pourniflante et recombiner l'ultra-cristal
parabolique !

10 réponses

1 2 3
Avatar
josephb
M.V. a écrit,

Petit joueur !



Nan ! Partisan du moindre effort, surtout.

Cela dit, ta solution est meilleure en ce sens qu'elle a le mérite de ne
pas avoir à toucher à la signature dans les prefs de MacSoup, donc en
cas de départ du message sans passer par le script, il sera quand même
signé.
Il fallait que ce soit dit !

--
J. B.
Avatar
michel.vauquois
Re-bonsoir,

Fleuger, le Fumiya Tanaka de fcomox, nous chante :

Cette fois ci, c'est bon avec -5



On peut même, grâce à l'emplacement que j'ai choisi pour cette
suppression de la signature MacSOUP, réduire la fonction à :
++++++++++
on deleteSign()
set mySign to ("-- " & return & "Michel")
if theAnswer contains mySign then
set corpsMess to (paragraphs 1 thru -4 of theAnswer) as list
set text item delimiters to return
end if
set the clipboard to corpsMess as text
finalPaste()
end deleteSign
++++++++++
en déclarant en tête de script :
++++++++++
property theAnswer : ""
++++++++++
En effet, theAnswer est défini presqu'en tête de script.

J'ai préféré corpsMess à corpus car ce dernier nom est utilisé ailleurs
dans le script et mon prof d'AS (!) m'a dit qu'il fallait éviter ça pour
ne pas faire de confusion...

Amicalement.
--
Michel Vauquois - <http://michelvauquois.free-h.fr>
Soudain, j'entendis tropino-améliorer l'ana-force : fallait-il trouer le nuage ou bien tropiner l'inhibiteur ?
Avatar
g4fleurot
Joseph-B a bien voulu nous faire partager ses réflexions sur ce
passionnant sujet :

"last machin" est compris par le compilateur comme "le premier machin en
partant de la fin de son conteneur" = -1



OK, merci pour l'explication.

Alors ça aurait du marcher avec -2, mais ce ne fut pas le cas. :-(


--
Gérard FLEUROT plus un
Avatar
josephb
M.V. a écrit,

Si ta signature tient sur 4 lignes (3 lignes de signature et 1 ligne dû
au délimiteur) il faut mettre effecivement -5.
Mais il me semblait qu'avant ces petits jeux, ta signature tenait sur 2
lignes :



Trop paresseux pour le faire moi-même, mais vous pourriez compter le
nombre de paragraphes en partant de la fin jusquà trouver celui qui
contient le délimiteur "-- "
De là vous pourrez déduire s'il faut mettre -2,-3,-4…
Chouette petit exercice, isn't it?
jdç, jdr…
--
J. B.
Avatar
michel.vauquois
Joseph-B wrote:

Trop paresseux pour le faire moi-même, mais vous pourriez compter le
nombre de paragraphes en partant de la fin jusquà trouver celui qui
contient le délimiteur "-- "
De là vous pourrez déduire s'il faut mettre -2,-3,-4…
Chouette petit exercice, isn't it?



C'est ce genre de truc que j'ai fait pour Mail : j'ai écrit une partie
du script que j'utilise pour déterminer où était la fin de ma signature
(pour ensuite lancer le corvo au bon endroit) et où était les tirets
précédant ma signature pour les faire précéder automatiquement d'une
formule de politesse... ;-)
--
Michel Vauquois
<http://michelvauquois.free-h.fr>
Avatar
josephb
M.V. a tout bonnement rédigé :

C'est ce genre de truc que j'ai fait pour Mail : j'ai écrit une partie
du script que j'utilise pour déterminer où était la fin de ma signature
(pour ensuite lancer le corvo au bon endroit) et où était les tirets
précédant ma signature pour les faire précéder automatiquement d'une
formule de politesse... ;-)



ben alors il faut transposer dans le script de MacSoup !
--
J. B.
Alerte ! L'inducteur dimensionnel paraît ouvrir dangereusement ! Il faut
recréer l'assimilateur vibratile d'urgence !!!
Avatar
michel.vauquois
Re-bonsoir,

Le capitaine Achab de fcomox, Joseph-B, ne se sentant plus de joie, a
ouvert un large bec, a laissé tomber son fromage et a proposé :

ben alors il faut transposer dans le script de MacSoup !



C'est la voie que j'avais commencé à prendre quand Fleuger a posé sa
question et j'avais une solution (à 1000 lieues du script sur lequel il
planchait) à lui proposer parce que j'avais bien vu le problème de la
longueur de la signature qui faisait varier la position du "-- " par
rapport à la fin du post. Mais c'était tellement du bricolage (= tester
le 1er caractère de chacune des 10 dernières lignes et enclancher la
suppression dès que "-" était rencontré) que je me suis abstenu pour
éviter les quolibets !

Ça restera donc une solution perso, solution que j'utilise dans Mail
puisque, comme je te l'ai raconté, suivant que je réponde à un courriel
"globalement" ou après avoir sélectionné une partie du message de mon
correspondant, je n'ai pas le même nombre de lignes blanches après ma
signature !

Amicalement.
--
Michel Vauquois - <http://michelvauquois.free-h.fr>
Pas de panique ! Morduire le gicleur plutonnant ne nous empêchera pas de
quadri-décoder l'hologramme balistique et l'infra-configuration
plutonnante.
Avatar
g4fleurot
Bonsoir,

Le sublimissime M.V. que je n'arrive pas à suivre a répondu :

On peut même, grâce à l'emplacement que j'ai choisi pour cette
suppression de la signature MacSOUP, réduire la fonction à :



Je ne retrouve pas les lignes que tu as indiquées.

Je pense que j'ai des scripts en développement intermédiaires
Intro_MacSOUP_2.scpt.zip du 15 mai
NewMes_MacSOUP du 15 mai
et Auto-réponse.scpt.zip du 19 mai
que j'ai modifié progressivement au fil des indications transmises sur
le forum.
J'ai vu aussi que Manfred utilise des signatures aléatoires ?

Pourrais-tu me renvoyer les dernières moutures ?

Pour essayer de comprendre AS, j'ai :
<https://www.dropbox.com/s/374lg0b4q1a8op5/Guide_AppleScript.pdf?dl=0>
Pas mal, mais ce n'est pas évident d'apprendre comme çà.
Quand j'arrive à la page 20, j'ai déjà oublié la première :-(
Mais la fonction de recherche pdf est efficace.

Amicalement,
--
Gérard FLEUROT [ plus un] vous informe que :
Alerte ! Le continuum vibratile paraît moduler dangereusement ! Il faut
bouffonner la parallaxe centrique d'urgence !!!
Avatar
michel.vauquois
Re-bonsoir,

L'imperturbable Fleuger, dans un dernier spasme, s'est écrié :

Je ne retrouve pas les lignes que tu as indiquées.



C'est le script que j'avais nommé Reponse.scpt. Je ne te l'avais pas
envoyé ?

Je pense que j'ai des scripts en développement intermédiaires
Intro_MacSOUP_2.scpt.zip du 15 mai



Périmé.

NewMes_MacSOUP du 15 mai



Périmé.

et Auto-réponse.scpt.zip du 19 mai



Avec Auto-réponse.scpt, il n'y avait pas mon autre script ?

Je te contacte en privé dans la soirée.

J'ai vu aussi que Manfred utilise des signatures aléatoires ?



J'ai fait un script spécial pour Manfred : il a préparé un stock de
citations et le script pioche aléatoirement une signature issue du
corvophraseur ou de son stock de citations perso.

Amicalement.
--
Michel Vauquois - <http://michelvauquois.free-h.fr>
Pas de panique ! Bi-polariser la distorsion baleinée ne nous empêchera
pas de décrypter la matière plutonnée et le relais plutonné.
Avatar
josephb
M.V. a écrit,

Mais c'était tellement du bricolage (= tester
le 1er caractère de chacune des 10 dernières lignes et enclancher la
suppression dès que "-" était rencontré) que je me suis abstenu pour
éviter les quolibets !



Non, ce n'est pas une méthode si mauvaise que ça. Pas académique, mais du moment que ça
marche à tous coups, c'est ce qui compte.
D'autant que les contraintes dans Mail sont bien plus strictes si on veut garder le
message en texte enrichi.

Toutefois, la détection devrait se faire sur
pragraph i = "-- "
et non sur
paragraph i begins with "-",
car un jour tu peux tomber sur un texte commençant par un tiret et ça fera des dégâts ;-)

ici un bout de script à tester qui détecte la signature et ne garde que ce qu'il y a
au-dessus, non obstant le nombre de lignes blanches après la signature.
--∞∞∞∞∞∞∞∞∞∞∞

set text item delimiters to ""
tell application "MacSOUP"
activate
tell application "System Events"
keystroke "a" using command down
keystroke "c" using command down
end tell
end tell
delay 0.2
set theAnswer to the clipboard

set allParagraphs to count paragraphs of theAnswer
set signLimit to allParagraphs
repeat with j from -1 to (allParagraphs * -1) by -1
if paragraph j of theAnswer = "-- " then
set signLimit to (j - 1)
exit repeat
end if
end repeat
if signLimit ≥ 0 then
display alert "Y a pas de signature !!"
return
end if

set text item delimiters to return
set the clipboard to ((paragraphs 1 thru signLimit of theAnswer) as list) as text
set text item delimiters to return

tell application "MacSOUP"
activate
tell application "System Events"
keystroke "v" using command down
end tell
end tell
--∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

Amicalement,
--
JB
1 2 3