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

Script MacSoup

6 réponses
Avatar
benoit
Bonjour,


Mon ancien script (envoyer-recevoir toutes les X minutes) ne fonctionne
plus du tout. Pourquoi ? Pas une idée. Ce que j'aimerai me faire c'est
qu'une appli... le fasse ;)
Et MacSoup n'est plus reconnu par Script Editor. Le principe est le
suivant :

on idle
try
-- au cas où la connection ne se fasse pas
with timeout of 300 seconds -- largement de temps de récupérer
tell application "MacSOUP"
connect with fetching news
connect with fetching tagged headers
connect with sending
end tell
on error
return 5 seconds
end try
return 600
end idle

En bref, si je ne me suis pas trompé, quand je suis lancé

- Je donne 10 minutes à MacSoup pour récupérer les news (c'est beaucoup)
- S'il y a une erreur (serveur inexistant par exemple) tu attends 5
secondes et tu réessayes tout de suite ;
- Si c'est bon, tu attends 10 minutes avant de recommencer.

Je sais que ce que j'ai écrit n'est pas bon, un coup de main me serait
utile. Mais surtout est-il possible d'outrepasser l'alerte de MacSoup :

« Could not open connection to news server on host "news.free.fr".

The server may be down, or there may be a problem with your network
connection. Try connecting later. »

Une idée ?

--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoit chez lui à leraillez.com

6 réponses

Avatar
g4fleurot
Benoît a écrit ceci :
Une idée ?

Est-ce que dans Préférences Système > Sécurité et Confidentialité >
Onglet Confidentialité > Palette de gauche Accessibilité
Il y a Éditeur de Scripts ?
S'il n'y est pas, il faut l'ajouter.
Ensuite, ton script est-il enregistré en script ou bien en application ?
Si c'est un script, il faut le mettre dans Automatisation > Menu des
scripts
Si c'est une application, il faut l'ajouter dans Automatisation et dans
Accessibilité.
--
Gérard FLEUROT plus un
Avatar
benoit
Fleuger wrote:
Benoît a écrit ceci :
Une idée ?

Est-ce que dans Préférences Système > Sécurité et Confidentialité >
Onglet Confidentialité > Palette de gauche Accessibilité
Il y a Éditeur de Scripts ?

Oui
S'il n'y est pas, il faut l'ajouter.
Ensuite, ton script est-il enregistré en script ou bien en application ?

Application
Si c'est un script, il faut le mettre dans Automatisation > Menu des
scripts
Si c'est une application, il faut l'ajouter dans Automatisation et dans
Accessibilité.

À condition que cela fonctionne et le script ne fonctionne plus.
D'autant qu'actuellementent il ne sait pas gérer les problèmes de
connection. MacSoup envoie un dialogue et bloque tout.
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoit chez lui à leraillez.com
Avatar
g4fleurot
Benoît a écrit ceci :
À condition que cela fonctionne et le script ne fonctionne plus.
D'autant qu'actuellementent il ne sait pas gérer les problèmes de
connection. MacSoup envoie un dialogue et bloque tout.

J'utilise ce script sous forme d'application qui fonctionne :
------
tell application "Finder"
open POSIX file "/Users/chemin du fichier_Settings"
delay 2
end tell
tell application "MacSOUP"
activate
delay 0.5
connect with fetching news and checking for new groups
end tell
------
Il faut ouvrir MacSoup par son dossier Settings.
Peut-être qu'en rajoutant le debut ce ce script (en adaptant le chemin) avant le tien, je pense que ça pourrait fonctionner
Àma le timeout of 300 secondes date de l'époque où on se connectait en RTC
--
Gérard FLEUROT plus un
Avatar
benoit
Fleuger wrote:
Benoît a écrit ceci :
À condition que cela fonctionne et le script ne fonctionne plus.
D'autant qu'actuellementent il ne sait pas gérer les problèmes de
connection. MacSoup envoie un dialogue et bloque tout.

J'utilise ce script sous forme d'application qui fonctionne :
------
tell application "Finder"
open POSIX file "/Users/chemin du fichier_Settings"
delay 2
end tell
tell application "MacSOUP"
activate
delay 0.5
connect with fetching news and checking for new groups
end tell
------
Il faut ouvrir MacSoup par son dossier Settings.

Je le fais depuis qu'on est passé en je ne sais plus quel OS. J'ai même
appris il y a quelque temps que les settings pouvaient être installées
dans le dock. À un moment il suffisait juste mettre le dossier settings
qu'on voulait utiliser par défaut dans les préférences système.
Peut-être qu'en rajoutant le debut ce ce script (en adaptant le chemin)
avant le tien, je pense que ça pourrait fonctionner Àma le timeout of 300
secondes date de l'époque où on se connectait en RTC

La fonction « activate » amène l'application au premier plan et je ne
veux surtout pas que cela se fasse et avoir MacSoup se pointer devant ce
sur quoi je bosse pour en plus changer de bureau. Il fait son taff
répétitif en arrière-plan. Comme autrefois.
Pour le premier TimeOut c'est vrai, le second sert à relancer la
connexion toutes les X secondes. J'ai aussi la récupération des « tagged
headers » qui sont ceux qui n'ont pas été récupérés, genre kill-file,
mais qui semblent intéressants dans la discussion en cours.
Cela étant, comment faire en sorte qu'en cas de problème de connexion
« serveur inaccessible », une tentative soit faite quelques secondes
plus tard ? En boucle bien sûr. C'est mon premier problème à résoudre
puisque s'il n'est pas résolu le reste ne sert à rien :(
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoit chez lui à leraillez.com
Avatar
g4fleurot
Benoît a écrit ceci :
La fonction « activate » amène l'application au premier plan et je ne
veux surtout pas que cela se fasse et avoir MacSoup se pointer devant ce
sur quoi je bosse pour en plus changer de bureau. Il fait son taff
répétitif en arrière-plan. Comme autrefois.

OK. Ben alors il suffit de supprimer la ligne
Éventuellement, en ajoutant la ligne
tell application "System Events" to set visible of process "MacSOUP" to false
ça laisse l'application en arrière plan
Pour le premier TimeOut c'est vrai, le second sert à relancer la
connexion toutes les X secondes. J'ai aussi la récupération des « tagged
headers » qui sont ceux qui n'ont pas été récupérés, genre kill-file,
mais qui semblent intéressants dans la discussion en cours.

J'ai essayé ton script. Il ne veut pas se compiler en l'état.
Comme cela, il se compile
----
on idle
try
-- au cas où la connection ne se fasse pas
-- with timeout of 300 seconds -- largement de temps de récupérer
tell application "MacSOUP"
connect with fetching news
connect with fetching tagged headers
connect with sending
end tell
on error
return 5 --seconds
end try
return 600
end idle
----
Cela étant, comment faire en sorte qu'en cas de problème de connexion
« serveur inaccessible », une tentative soit faite quelques secondes
plus tard ? En boucle bien sûr. C'est mon premier problème à résoudre
puisque s'il n'est pas résolu le reste ne sert à rien :(

J'ai souvent le cas avec Free. Dans ce cas, il y a une alarme ce que tu ne veux pas.
Je n'ai pas trouvé de parade scriptée, raison pour laquelle je me connecte en manuel lorsque j'y pense.
Et j'ai dissocié la réception de l'envoi pour éviter les envois intempestifs malheureux.
--
Gérard FLEUROT plus un
Avatar
benoit
Fleuger wrote:
Benoît a écrit ceci :
La fonction « activate » amène l'application au premier plan et je ne
veux surtout pas que cela se fasse et avoir MacSoup se pointer devant ce
sur quoi je bosse pour en plus changer de bureau. Il fait son taff
répétitif en arrière-plan. Comme autrefois.

OK. Ben alors il suffit de supprimer la ligne
Éventuellement, en ajoutant la ligne
tell application "System Events" to set visible of process "MacSOUP" to
false ça laisse l'application en arrière plan
Pour le premier TimeOut c'est vrai, le second sert à relancer la
connexion toutes les X secondes. J'ai aussi la récupération des « tagged
headers » qui sont ceux qui n'ont pas été récupérés, genre kill-file,
mais qui semblent intéressants dans la discussion en cours.

J'ai essayé ton script. Il ne veut pas se compiler en l'état.
Comme cela, il se compile
----
on idle
try
-- au cas où la connection ne se fasse pas
-- with timeout of 300 seconds
-- largement de temps de récupérer
tell application "MacSOUP"
connect with fetching news
connect with fetching tagged headers
connect with sending
end tell
on error
return 5 --seconds
end try
return 600
end idle
----
Cela étant, comment faire en sorte qu'en cas de problème de connexion
« serveur inaccessible », une tentative soit faite quelques secondes
plus tard ? En boucle bien sûr. C'est mon premier problème à résoudre
puisque s'il n'est pas résolu le reste ne sert à rien :(

J'ai souvent le cas avec Free. Dans ce cas, il y a une alarme ce que tu ne
veux pas. Je n'ai pas trouvé de parade scriptée, raison pour laquelle je
me connecte en manuel lorsque j'y pense. Et j'ai dissocié la réception de
l'envoi pour éviter les envois intempestifs malheureux.

C'est là que je coince. Et si je ne le résouds pas, le script est
inutilisable.
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoit chez lui à leraillez.com