OVH Cloud OVH Cloud

scripter MacSOUP

2 réponses
Avatar
pere.noel
je scripte MacSOUP, qqpart j'ai un dossier cache d'alias des différents
fichiers de settings.

si je lance MacSOUP sur un fichier orginal par :
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

c'est OK, par contre si j'essaie de faire la même chose sur l'alias de
fichier :

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

rien ne se passe, je suppose que c'est ma ligne :


open alias file settingsFile qui n'est pas ok

je devrais faire qqc dans le genre :

open file whose alias is settingsFile

qq'un connaît la syntaxe ???

--
une bévue

2 réponses

Avatar
blanc
Une bévue wrote:

c'est OK, par contre si j'essaie de faire la même chose sur l'alias de
fichier :

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

rien ne se passe, je suppose que c'est ma ligne :


open alias file settingsFile qui n'est pas ok

je devrais faire qqc dans le genre :

open file whose alias is settingsFile

qq'un connaît la syntaxe ???


A tout hasard, ça ne marcherait-il pas avec la même syntaxe que
l'original ?
open file settingsFile-alias

(en supposant que l'alias s'appelle ainsi)

Maintenant as-tu essayé avec un lien symbolique plutôt qu'un alias ?

JPaul.

--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE

Avatar
pere.noel
JPaul wrote:


A tout hasard, ça ne marcherait-il pas avec la même syntaxe que
l'original ?
open file settingsFile-alias

(en supposant que l'alias s'appelle ainsi)


non, ce que j'ai écrit, et qui marche :

je fais un open file sur :

open file "#{self.apple_path}"

avec #{self.apple_path} provenant du "getOriginalFromAlias" voir plus
bas


Maintenant as-tu essayé avec un lien symbolique plutôt qu'un alias ?


non car je réalise mes alias ainsi :

def buildAlias
`rm -f "#{self.posix_alias_path}"` if
FileTest.exists?(self.posix_alias_path)
as="tell application "Finder"
make alias file to (file "#{self.apple_path}") at
"#{self.apple_alias_dir}" with properties
{name:"#{self.alias_label}"}
end tell"
OSX.do_osascript(as)
end


l'intérêt d'un alias (versus symlink) est qu'il suit le document
original et que j'ai moyen de savoir si l'original a été supprimé par ce
script :


def getOriginalFromAlias
as="tell application "Finder"
try
set originalFile to original item of file
"#{self.apple_alias_path}" as text
on error
set originalFile to ""
end try
end tell
{originalFile}"
self.apple_path=OSX.do_osascript(as)[0].to_rbobj
end


si ce script retourne "" il y a erreur, l'alias est orphelin

--
une bévue