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

AppleScript et MacSOUP erreur -37

6 réponses
Avatar
pere.noel
mon but faire "tourner" MacSOUP sur un petit nombre de serveur nntp.

donc, je quitte masoup du serveur courant, je relance macsoup sur un
nouveau fichier de settings et je charge ce qu'il faut.

problème, j'ai le message d'erreur suivant :

as ne peut ouvrir un ou plus des fichiers spécifiés à cause d'une erreur
-37

c'est quoi cette erreur ?

mon script très expérimental :

tell application "MacSOUP"
quit
end tell

--set settingsFile to POSIX path of
"/Users/yvon/MacSOUP_db4o/MacSOUP_db4o"
--set settingsFile to POSIX path of
"/Users/yvon/MacSOUP_news.individual.net/news.individual.net"
--set settingsFile to POSIX path of
"/Users/yvon/MacSOUP_eclipse/MacSOUP_eclipse"
set settingsFile to POSIX path of
"/Users/yvon/MacSOUP_proxad/MacSOUP_proxad"

tell application "MacSOUP"
open file settingsFile
activate
with timeout of 30 * 60 seconds
purge
connect with fetching news, fetching tagged headers and
sending
end timeout
--quit
end tell

--
une bévue

6 réponses

Avatar
ericb
Bonjour,


mon but faire "tourner" MacSOUP sur un petit nombre de serveur nntp.

donc, je quitte masoup du serveur courant, je relance macsoup sur un
nouveau fichier de settings et je charge ce qu'il faut.

problème, j'ai le message d'erreur suivant :

as ne peut ouvrir un ou plus des fichiers spécifiés à cause d'une erreur
-37

c'est quoi cette erreur ?


Dans la doc d'Applescript (Applescript Language Guide), tu as toutes les
erreurs détaillées.

Dans les errors dues à l'OS, il semble que ce soit "Bad name for file" .
Et tu devrais ajouter une ligne qui permet de l'afficher...

mon script très expérimental :

tell application "MacSOUP"
quit
end tell



Sauf erreur, une seule des configs ci-dessous est utilisée, c'est ça ?

--set settingsFile to POSIX path of "/Users/yvon/MacSOUP_db4o/MacSOUP_db4o"
--set settingsFile to POSIX path of "/Users/yvon/MacSOUP_news.individual.net/news.individual.net"
--set settingsFile to POSIX path of "/Users/yvon/MacSOUP_eclipse/MacSOUP_eclipse"

set settingsFile to POSIX path of "/Users/yvon/MacSOUP_proxad/MacSOUP_proxad"


-- on visualise la variable :
display dialog " La valeur de settingsFile est : " & settingsFile

-- ensuite, pour factoriser un peu, on peut utiliser (déclaré une seule
fois) :

on getUserHome()
return (POSIX path of (path to home folder))
end getUserHome()

...

tell application "MacSOUP"


set settingsFile to getUserHome() & "MacSOUP_db4o/MacSOUP_db4o"

open file settingsFile


-- je n'en sais pas plus (je ne connais pas purge ni connect)

activate
with timeout of 30 * 60 seconds
purge
connect with fetching news, fetching tagged headers and
sending
end timeout
--quit
end tell



Mes 2 cents


--
ericb

Avatar
pere.noel
ericb wrote:


Sauf erreur, une seule des configs ci-dessous est utilisée, c'est ça ?


oui, oui, je fais tourner les configs... > > > --set settingsFile to
POSIX path of "/Users/yvon/MacSOUP_db4o/MacSOUP_db4o" > > --set
settingsFile to POSIX path of
"/Users/yvon/MacSOUP_news.individual.net/news.individual.net" > > --set
settingsFile to POSIX path of
"/Users/yvon/MacSOUP_eclipse/MacSOUP_eclipse" > > > set settingsFile to
POSIX path of "/Users/yvon/MacSOUP_proxad/MacSOUP_proxad" > > -- on
visualise la variable : > display dialog " La valeur de settingsFile est
: " & settingsFile > > -- ensuite, pour factoriser un peu, on peut
utiliser (déclaré une seule > fois) : > > on getUserHome() > return
(POSIX path of (path to home folder)) > end getUserHome() > > ...

ok, merci beaucoup, je commence à voir ce ki fô fère ;-)

en fait pour l'instant j'ai contourné le pb (j'utilise AppleScript à
travers Ruby pour faire une ch'tite application RubyCocoa) :
--------------------------------------------------------------------
#!/usr/bin/env ruby

require 'osx/aeosa' @settingsFiles={ "Individual" =>
"HDX:Users:yvon:MacSOUP_news.individual.net:news.individual.net",
"Eclipse" => "HDX:Users:yvon:MacSOUP_eclipse:MacSOUP_eclipse", "Proxad"
=> "HDX:Users:yvon:MacSOUP_proxad:MacSOUP_proxad"}
@defaultSettingsFilesLabel="Individual"

def openMacSOUPSettingsFile(settingsFile) as="tell application
"MacSOUP" open file "#{settingsFile}" activate with timeout of 30 *
60 seconds purge connect with fetching news, fetching tagged headers and
sending end timeout end tell" OSX.do_osascript(as) end

def roundTrip @settingsFiles.each { |sf| openMacSOUPSettingsFile(sf)}
openMacSOUPSettingsFile(@settingsFiles[@defaultSettingsFilesLabel]) end

roundTrip
--------------------------------------------------------------------

ça sa tourne avec des valeurs de path en patois mac os telles wue :

"HDX:Users:yvon:MacSOUP_news.individual.net:news.individual.net"


mais avec mon application rubycocoa je suppose que le file chooser cocoa
va me retourner un path à la unix/posix non ?

je devrais donc vérifier ce que tu dit, à mon avis le problème venait du
fait que mon path unix était du genre :

/Users/yvon/MacSOUP_db4o/MacSOUP_db4o

donc path absolu sur le disk par défaut alors que je devrais avoir, tjs
en unix :


/Volumes/HDX/Users/yvon/MacSOUP_db4o/MacSOUP_db4o

je ne sais pas comment trouver en command line le volume par défaut,
soit "/Volumes/HDX" dans mon cas.

pour pouvoir transformer ça en :

"HDX:Users:yvon:MacSOUP_news.individual.net:news.individual.net"

ce que je ne sais pas faire pour l'instant

--
une bévue

Avatar
pere.noel
Benoit Leraillez wrote:
Je le ferai dans l'autre sens, c'est à dire de n'ouvrir que les
settings file qui lanceront MacSoup de toute façon.


oui, ça je l'ai découvert "in between" pas besoin de quitter MacSOUP
avant de changer de settings file.

Bref obtenir la liste des documents dans mon dossier et les lancer
les uns après les autres via le Finder en quittant MacSoup toutes les x
minutes


ouais très bien ton idée, je vais éplucher cela, en fait j'ai prévu de
disposer des settings files dans une array et de remplir l'array par un
file chooser comme ça l'utilisateur n'est pas obligé d'utiliser tous ces
settings et aussi il peut les avoir n'importe où...
--
une bévue

Avatar
ericb
Merci pour toutes ces informations :-)

Pas eu le temps de répondre pour le " as string"

Complètement H.S. :

tu ne connaitrais pas un moyen, pour une application tournant sous X11,
de s'auto-attribuer le focus ? Pour l'instant, il faut cliquer sur la
fenêtre (ou faire un Pomme TAB ) pour que le clavier soit actif dedans
: activate ne semble pas fonctionner, et " defaults write com.apple.x11
wm_click_through true " ne donne pas le résultat escompté :-/


D'avance merci :-)
Avatar
pere.noel
Benoit Leraillez wrote:

Tu génères un alias des fichiers sélectionnés et tu le mets dans
~/Library/Application Support/MonApp/cache/settingsCache.bévue. Comme ça
à chaque lancement tu lis ton cache, où se trouve les alias, et tu
régénères la liste des settings.

Si tu passes par les alias, l'utilisateur peut toujours déplacer ses
fichiers originaux et tu les retrouveras quand même.


ah ouais, merci beaucoup pour cette idée d'alias, c'est bien plus clever
et simple que ce que je comptait faire (mettre le path des fichiers de
settings dans un fichier de prefs...)

et générer un alias je le fais en applescript ou en command line, je
suppose plutot en as...

mais comment ?
--
une bévue

Avatar
pere.noel
Benoit Leraillez wrote:


Je te laisse essayé, on est dimanche, il est 10 AM et j'entends le
cri de la sieste ;-)


merci pour tes infos, j'ai crié "à l'aide" même sur "Applescript_fr
mailing list" de patpro en cas où tout le monde ne serait pas parti
pique-niquer...

bon, je vois ce qui fô faire avant la fin du week-end j'aurai une petite
appli "MacSOUPSwitcher" qui permettra de relever les news de plusieurs
serveurs nntp avec MacSoup, il y aura un serveur par défaut (celui
affiché en permanence par MacSOUP) et sur un petit UI on pourra changer
de serveur, de préférences etc...
--
une bévue