IPB

Bienvenue invité ( Connexion | Inscription )

> [AS] récupération de l'alias de mon fichier [Résolu], peut-on récupérer l'alias d'un fichier de copie source ????
Options
shark1664
posté 29 Jul 2008, 14:07
Message #1


Nouveau Membre


Groupe : Membres
Messages : 21
Inscrit : 3 Jun 2008
Membre no 115 332



Bonjour,

j'aimerai avoir quelques pistes dans le but de m'éclairer un peu dans mon applescprit car pour le momment il fait assez noir ... tongue.gif

Voila,

j'ai créé un dossier IN qui recevra des fichiers que mes utilisateurs déposeront à sa racine. Ces fichers devront être des fichiers de type InDesign. Une fois que mon dossier a récupéré ce ou ces fichiers (si l'utilisateur vient à déposer une liste de fichier), il exécutera automatiquement un script que je suis en train d'écrire.

Première confirmation, pour que mon script s'exécute automatiquement je dois activer sur mon dossier les actions de mon dossier et lui joindre le script que j'écris (que j'aurai enregistré dans bibliothèque, script, folder action script ) ??

Après avoir fait ceci, je souhaite pouvoir vérifier le contenu du dossier IN
si le fichier est bien un fichier INDD alors c'est bon
sinon si autre extansion je le supprime

Dès lors je peux commencer à faire ce que je souhaite faire,
mais il faut que je récupère en faire l'alias de mon fichier INDD d'origine et ceci je n'ai aucune idée pour le faire
car le fichier aura été copié .... et donc savez vous si je peux récupérer l'alias du fichier source qui a été copié, ainsi je pourrai faire ce que je veux parcourir mon arborescence, exporter en pdf, ......

voici le début de mon AS (scructure de base)
on adding folder items to theFolder after receiving theFileList
-- On boucle sur chaque élément présent dans la variable "theFileList"
repeat with theFile in theFileList
-- Structure de contrôle "try" au cas où
try
-- si extension de theFile = .indd then on garde
-- else on jette le fichier de la liste pour avoir une liste propre

-- récupération de l'alias
-- Toutes mes opérations (export, ...)
end try
end repeat
-- On jette tous les éléments de la liste "theFileList" à la corbeille
tell application "Finder" to delete theFileList
end adding folder items to


Toutes vos aides me seront préscieuses

Merci à tous.....

Sh@rk
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
McHerve
posté 30 Jul 2008, 13:49
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 709
Inscrit : 13 Aug 2003
Lieu : Cagnes-sur-Mer
Membre no 9 040



j'arrive après la bateaille, mais un scrript pour parser les alias et collecter leur vrai path
j'ai vaguement expurgé le script pour qu'il soit plus lisible (donc ne vous étonnez pas s'il merdoit un peu wink.gif)

en préambule, j'ai une liste de fichiers contenant des path de fichier formatté en path unix
je fais un repeat pour vérifier chaque élément de cette liste:
CODE
-- --------------------
set la_liste_tmp to {} --pré-définir
     repeat with item_la_recup_des_fichiers in la_recup_des_fichiers
            
          --vérifier si l'item est un alias (ex Leopard file: "/Users/herve/Desktop/AS/HerveAlert-v3:                empty")
                
          if (do shell script "file " & (quoted form of item_la_recup_des_fichiers) & "| /usr/bin/grep empty$ | strings") = "" then
               --SI PAS ALIAS MAC, concaténer directement (pour éviter de faire des appels au Finder et en AS)
               set la_liste_tmp to la_liste_tmp & item_la_recup_des_fichiers
                    
               --SI ALIAS: collecter son vrai path…
               --REM: le parse des doublons aura lieu avec "sort -u" (ex: fichier + son alias = doublons)
          else
               tell application "Finder"
                    set item_la_recup_des_fichiers_alias to (POSIX file (item_la_recup_des_fichiers as string) as alias) --REM: NE PAS OUBLIER DE RECASTER l'item issu d'une liste !
                    if the kind of item_la_recup_des_fichiers_alias is "Alias" then
                         try --est-ce que l'alias pointe bien sur quelque chose
                              set le_vrai_path to get the POSIX path of (original item of item_la_recup_des_fichiers_alias as text)
                              tell me to if (MCLog_dev(1) is true) then ¬
                                   display alert "alias : " & return & item_la_recup_des_fichiers & return & le_vrai_path
                              --
                              --Alias d'un dossier/fichier ?
                              if le_vrai_path ends with "/" then --Dossier
                              --fouiller le contenu du dossier nouvellement trouvé (et en profiter pour virer le double slash)
                                   set la_recup_des_fichiers_bis to paragraphs of (do shell script "/usr/bin/find -L " & (quoted form of le_vrai_path) & " | /usr/bin/tr -s '/' | /usr/bin/grep -v " & (quoted form of le_vrai_path) & "$ ")
                                   set la_liste_tmp to la_liste_tmp & la_recup_des_fichiers_bis
                              else --Fichier
                                   set la_liste_tmp to la_liste_tmp & le_vrai_path
                              end if
                              --
                         on error x
                              --l'alias ne pointe sur rien (le fichier original a du être supprimé mais pas son alias)
                         end try
                    end if
               end tell
     end if
                    
end repeat
            
set la_recup_des_fichiers to la_liste_tmp --remettre en place le nom de la variable
pour info, je dégrossis avec "file", ce n'est pas fiable (une typo se retrouve analysée comme un possible alias) mais ça permet de limiter le nombre d"éléments à traiter en AS (l'AS c'est souvent lent et je trouve plantogène d'accéder au Findert en AS, donc je limite au max ce type d'accès wink.gif)

à+


--------------------
Pour DVD, iPad, HD, TV connectée, Western Digital, … iMovie & FCPX? MovieConverter-Studio 3.05 (11/05/2015)
Traiter les vidéos de vos caméscopes? …même en 50p comme 50i? …les ralentir? MovieCam
Une planche contact de vos vidéos? MovieIndex
Des petits Mickeys? v'là mon site pro
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 9th September 2025 - 18:39