IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [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
schlum
posté 29 Jul 2008, 14:34
Message #2


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 456
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Merci de préciser [AS] au début du titre wink.gif


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Guest_JackJr300_*
posté 29 Jul 2008, 19:36
Message #3





Guests






Bonjour,

Ce n'est pas possible d'obtenir l'original d'un élément copié.

Une solution : fais un droplet qui fera des alias dans ton dossier quand l'utilisateur déposera ses fichiers sur l'icône du droplet.
Go to the top of the page
 
+Quote Post
shark1664
posté 30 Jul 2008, 08:48
Message #4


Nouveau Membre


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



C'est bien ce que j'ai remarqué avec ce problème de script de dossier car quand l'un s'execute et si j'ai un deuxième dossier qui possède lui aussi un script de dossier, le premier script se voit arréter =>> gros problème, système pas fiable pourtant on est bien sur mac ??

J'ai donc décider de repenser la structure de mon programme....

L'utilisateur executera un script qui par un choose file me retournera l'adresse dans un jobticket déposer sur le bureau.
L'utilisateur déposera ce ticket dans un répertoire défini. losrque le fichier sera déposé mon script récupèrera l'alias et executera les actions necessaire pour mon traitement.


M%erci à vs tous !!
Go to the top of the page
 
+Quote Post
sucellus
posté 30 Jul 2008, 09:53
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 098
Inscrit : 4 Oct 2005
Membre no 47 253



CITATION(shark1664 @ 30 Jul 2008, 09:48) [snapback]2751903[/snapback]

C'est bien ce que j'ai remarqué avec ce problème de script de dossier car quand l'un s'execute et si j'ai un deuxième dossier qui possède lui aussi un script de dossier, le premier script se voit arréter =>> gros problème, système pas fiable pourtant on est bien sur mac ??

J'ai donc décider de repenser la structure de mon programme....

L'utilisateur executera un script qui par un choose file me retournera l'adresse dans un jobticket déposer sur le bureau.
L'utilisateur déposera ce ticket dans un répertoire défini. losrque le fichier sera déposé mon script récupèrera l'alias et executera les actions necessaire pour mon traitement.


M%erci à vs tous !!

Bonjour

Pourquoi faire simple quand on peut faire compliqué.

Deux personnes t'indiquent le bon chemin, c'est pas plutot un problème de script que tu as? unsure.gif

Avec le dropplet tu contrôle l'extention.
Si c'est la bonne extention, le script déplace (ou copie) le fichier dans ton dossier.

Ton dossier alors est un simple dossier de récepion sans script.

Le dropplet peut travailler pour un fichier ou un ensemble de fichiers (suivant comment il est écrit).

@+


--------------------
Impossible de vous dire mon âge, il change tout le temps.

iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.4
Go to the top of the page
 
+Quote Post
shark1664
posté 30 Jul 2008, 10:42
Message #6


Nouveau Membre


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



Ben a vrai dire j'ai déja bien avancé dans mon deuxième script quaisi fini voila smile.gif

ben je suis d'accord avec toi sur le fonctionnement de la droplet.

mais récupérer l'adresse du fichier source de copie aie aie aie

maintenant avec mon ticket c'est bon c'est stocké, tout va bien je peux travailler
smile.gifsmile.gif
Go to the top of the page
 
+Quote Post
sucellus
posté 30 Jul 2008, 13:25
Message #7


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 098
Inscrit : 4 Oct 2005
Membre no 47 253



CITATION(shark1664 @ 30 Jul 2008, 11:42) [snapback]2752053[/snapback]

Ben a vrai dire j'ai déja bien avancé dans mon deuxième script quaisi fini voila smile.gif

ben je suis d'accord avec toi sur le fonctionnement de la droplet.

mais récupérer l'adresse du fichier source de copie aie aie aie

maintenant avec mon ticket c'est bon c'est stocké, tout va bien je peux travailler
smile.gifsmile.gif

Bonjour

Je t'envoie un MP.

@+




--------------------
Impossible de vous dire mon âge, il change tout le temps.

iMac 27" Intel core i5 3,1 Gh Mémoire vive 16 Go Mountain Lion 10.8.4
Go to the top of the page
 
+Quote Post
McHerve
posté 30 Jul 2008, 13:49
Message #8


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
Guest_JackJr300_*
posté 30 Jul 2008, 14:28
Message #9





Guests






Bonjour,

CITATION(McHerve @ 30 Jul 2008, 13:49) [snapback]2752417[/snapback]

j'arrive après la bateaille, mais un scrript pour parser les alias et collecter leur vrai path

Ce que je comprends smile.gif , c'est que l'utilisateur dépose un fichier "InDesign" dans le dossier, il n'est pas déplacé, mais copié.

shark1664 voudrait récupérer le chemin du fichier original en alias AppleScript du fichier dupliqué, mais pas le chemin original d'un alias Mac.
Go to the top of the page
 
+Quote Post
shark1664
posté 31 Jul 2008, 08:24
Message #10


Nouveau Membre


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



Tout à fait, mais bon mon problème est résolu si l'utilisateur exécute un script qui génère un fichier comportant l'alias voulu puis il le déposera dans une balise défini sur le réseau en local. dès lors lorsque le fichier détectera ce dépot de fichier il exécutera un deuxième script faisant les opérations voulues

Merci
Go to the top of the page
 
+Quote Post

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 - 13:30