Trier des photos avec Applescript, Portrait ou Paysage |
Bienvenue invité ( Connexion | Inscription )
Trier des photos avec Applescript, Portrait ou Paysage |
20 Apr 2018, 10:15
Message
#1
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Bonjour,
Je possède un dossier images/ dans lequelle il y à des des sous dossier sur plus de 10 niveaux, dans presque chaque sous dossier, il y à des photos; je souhaiterais développer un applescript qui me scan le dossier image (en recursive donc) et qui affecte par exemple un tag vert pour les photos portrait et un tag rouge pour les photos paysage. Vous pensez que c'est possible ? tout en gardant bien sur les sous-sous dossier à leurs place. Merci pour votre aide. |
|
|
20 Apr 2018, 11:32
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 573 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Editus moderatus : coquille corrigée dans le titre (tirer –> trier).
-------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
20 Apr 2018, 11:35
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Pas besoin de faire un script il faut juste utiliser la fonction de recherche du Finder qui permet de sélectionner les fichiers par orientation et restreindre la recherche à ton dossier images.
Ensuite il suffit de sélectionner la totalité des fichiers trouvés pour une orientation et y appliquer un tag couleur. Pour l'orientation 0 = paysage, 1 = portrait. [attachment=56892:Capture_...12.34.35.png] -------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
20 Apr 2018, 13:23
Message
#4
|
|
Adepte de Macbidouille Groupe : Membres Messages : 176 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonjour,
Le solution de "yponomeute" est relativement simple et universelle. Je te mets un petit applescript qui te permettra de faire ce que tu veux. Tu auras le choix de la méthode ! Il te faudra adapter la ligne : "set extension_a_traiter to {"jpg", "pdf", " png"}" qui liste les extensions que le script devra traiter. j'ai mis jpg, pdf, png et tu pourras ajouter celles qui t'interressent. Code tell application "Finder"
set cheminsource to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à tagger" my inspecter(cheminsource) end tell on inspecter(source) tell application "Finder" -- traitement des fichiers : set les_fichiers to files of source repeat with chaque_fichier in les_fichiers -- traitement d'un fichier tell application "Finder" set lefichier to chaque_fichier set extension_a_traiter to {"jpg", "pdf", " png"} -- Liste des extensions à traiter set nom to name of chaque_fichier set extens to document file nom in source --recupere l extension du fichier set lextension to name extension of extens if lextension is in extension_a_traiter then tell application "Image Events" -- close images --This line is not always necessary, but helps keep things clean. set b to open (lefichier as alias) set {wid, hit} to b's dimensions close b end tell if wid < hit then set label index of lefichier to 6 else set label index of lefichier to 2 end if end if end tell end repeat -- traitement des dossiers : set les_dossiers to folders of source repeat with chaque_dossier in les_dossiers -- traitement d'un dossier my inspecter(chaque_dossier) end repeat end tell end inspecter tell application "Finder" (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
20 Apr 2018, 13:36
Message
#5
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Merci yponomeute
Oui , j'ai vue çà sur le tare, en effet, ont peux même choisir le canal alpha, très pratique pour les photos "détouré" Merci Zeltron54, pour ton script, il pourrait être utile, pour lancer par exemple un droplet photoshop dédié aux photos portrait et paysage... Mais, la il faut toucher sa bille en apple script. merci |
|
|
20 Apr 2018, 13:52
Message
#6
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Alors ZELTRON, voici un script que j'avais récupéré d'une experte en apple script
Il permettait d’exécuter un droplet (DROPLET-MEGACOOL) qui est défini en 2 version , en version paysage et en version portrait: (selon l'orientation de la photo ont execute un DROPLET adapté) Code --PORTRAIT et PAYSAGE DEBUT on action7(tFiles) script ob -- seulement les actions Photoshop on PSD_process(this_path) set tCollection to "photos-paysage" --****+ tell application "Adobe Photoshop CC 2015.5" open alias this_path showing dialogs never tell the current document if width < height then set tCollection to "photos-portrait" -- format Portrait--****+ do action "DROPLET-MEGACOOL" from tCollection --**** close saving no end tell end tell end PSD_process end script end action7 -- PORTRAIT et PAYSAGE FIN Pense tu que l'ont puisse l'intégrer à ton script ? L'idée est simple, je défini un dossier "PHOTOS-A-RETOUCHER" , j'y dépose les dossiers, sous dossiers qui comporte des images. Le script s’exécute donc, dès qu'il détecte les photos. 1/ Selon l'orientation des photos (portrait ou paysage), il envois un droplet photoshop "photos-paysage / DROPLET-MEGACOOL / " et "photos-portrait / DROPLET-MEGACOOL / " Il sauve les photos sur elle même... car les photos doivent rester à leurs emplacement d'origine... C'est possible ? bon dans mes rêves |
|
|
20 Apr 2018, 14:24
Message
#7
|
|
Adepte de Macbidouille Groupe : Membres Messages : 176 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Je connais mal les actions photoshop et je ne possède pas la version cc 2015.
Ajoutes l'extension "psd" à mon script et les fichiers photoshop seront également tagger en vert ou rouge selon leurs orientation. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
20 Apr 2018, 14:42
Message
#8
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Je me suis mal exprimé, ce n'est pas cela.
En fait une fois que les photos sont trié, je dois opérer des modification via photoshop, c'est à dire que sur les photos paysage, je dois effectuer un travail infographique et sur une photo portrait, idem. donc en fait, une fois que les photos son tagué, rouge pour les portraits et vert pour les paysages, serais t'il possible de créer une suite.... Faire un apple script qui prend les image tagué rouge et lance un script "portrait", et pour les tag vert, execute un script paysage.. C'est cette logique la que je cherche à faire.... car , je l'est fait manuellement, je classe par tag et j'envois tous ans un droplet mais vue la quantité de photos à traiter, photoshop est sur les rotules...je pense que c'est du fait qu'il y à beacous de sous-dossier et je ne peux pas perdre l'organisation... alors que via un apple script, cela ce passe bien... (c'est plus léger...) Bon, sinon, pas grave je ferais çà à la main... en fait comment faire pour qu'en fonction de la couleur du tag ont créer une action ? |
|
|
20 Apr 2018, 14:56
Message
#9
|
|
Adepte de Macbidouille Groupe : Membres Messages : 176 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Ok,
Je dois m'absenter... je regarde ça à mon retour -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
20 Apr 2018, 14:57
Message
#10
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Bon j'ai repris mon ancien script, car il est capable de définir l'orientation des photos (if width < height ), donc pas forcement besoin de tager, le hic, c'est que depuis que je tourne sous Elcaptain, ce script ne fonctionne plus... de plus j'ai des doutes sur l'ensemble des syntaxes, je suis nul en apple script
Code property ajout : {} property sous_dossiers : {} property masterFolder : "" property dossier_a_traiter : "" on idle set dossier_a_traiter to "/Volumes/MONDISK/mesphotos" --**** tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action7(it) -- si des éléments sont trouvés, execute la fonction action7 on action7(tFiles) script ob -- seulement les actions Photoshop on PSD_process(this_path) set tCollection to "images-paysage" --****+ tell application "Adobe Photoshop CC 2015.5" open alias this_path showing dialogs never tell the current document if width < height then set tCollection to "images-portrait" -- format Portrait--****+ do action "MINI-FOND-NEUTRE" from tCollection --**** do action "MED" from tCollection --**** do action "MAXI" from tCollection --**** do action "LST" from tCollection --**** close saving no end tell end tell end PSD_process end script end action7 Si je fait play dans apple script j'ai: Erreur de syntaxe: Code " end " prévus mais "on" trouvés Il manque quelques chose ? Ce message a été modifié par MacMame - 20 Apr 2018, 15:00. |
|
|
20 Apr 2018, 15:23
Message
#11
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Bonjour,
Et si tu ajoutes un end juste avant la ligne "on action7(tFiles)" pour fermer le premier bloc On ? Ca donne quoi ? Teddy Ce message a été modifié par teddy7545 - 20 Apr 2018, 15:26. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
20 Apr 2018, 16:14
Message
#12
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Tu a raison TEDDY, je suis nul ! c'est corrigé
Je n'est donc plus de message d'erreur, par contre, j'ai essayé de re-bidouiller mon ancien script, comme ci-dessous, mais rien ne bouge.... je pense que c'est le code en premier qui n'est pas bon (rechercheFichier), le code pour "écouter" le dossier source, il n'est pas adapté.... j'ai essayé d'adapter le code de ZELTRON mais il ne reconnait pas la variable Inspecter. voici mon code remis à jours: Je me demande même si il est capable de scanner les dossiers en recursive, car je possède pas mal de sous-sous-sous-dossier. Code property ajout : {}
property sous_dossiers : {} property masterFolder : "" property dossier_a_traiter : "" on rechercheFichiers(d) -- recherche fichiers et dossiers set tFiles to do shell script "/usr/bin/find " & (quoted form of d) & " -maxdepth 10 -mindepth 1 \\! -name '.*' \\! -name 'tempo'" if tFiles is not "" then return paragraphs of tFiles return "" end rechercheFichiers on idle set dossier_a_traiter to "/Volumes/PHOTOS" --**** tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action7(it) -- si des éléments sont trouvés, execute la fonction action7 end idle on action7(tFiles) script ob -- seulement les actions Photoshop on PSD_process(this_path) set tCollection to "photos-paysage" --****+ tell application "Adobe Photoshop CC 2015.5" open alias this_path showing dialogs never tell the current document if width < height then set tCollection to "photos-portrait" -- format Portrait--****+ do action "REDIM" from tCollection --**** close saving no end tell end tell end PSD_process end script end action7 Ce message a été modifié par MacMame - 20 Apr 2018, 16:14. |
|
|
20 Apr 2018, 18:14
Message
#13
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Bonsoir
Citation Je me demande même si il est capable de scanner les dossiers en recursive, car je possède pas mal de sous-sous-sous-dossier. Oui il est capable mais tu as limité la profondeur de la recherche à 10 niveaux, alors s'il y en a plus dans l'état ils ne seront pas "scanné" Si tu souhaites qu'il ailles dans tous les sous dossiers, tu peux soit augmenter -maxdepth 10 avec une valeur supérieur 50 ... ou plus.... Ou alors plus simplement enlever cet argument de la commande et il fera automatiquement tous les niveaux. Ton filtre recherche tous les fichiers ou dossier qui ne commencent pas par un point et qui ne contiennent pas tempo .... Ce filtre ne renvois donc pas nécessairement des photos. Es tu sur de ta recherche ... Si tu as pas de dossier ou de fichier tempo il va donc renvoyer tous les fichiers et dossiers non cachés. Tu ne peux pas lancer ce script avec le bouton "run" depuis l'éditeur de script. Aucune fonction ne peut démarrer ainsi dans ce script. Pour tester avec l'éditeur de script, tu peux ajouter une ligne à la fin Citation idle() De cette façon il devrait démarrer (en forçant idle à démarrer lors du lancement du script). Enfin pour ne pas risquer de polluer tes fichiers par un traitement inadéquat, je te recommande dans un premier temps de remplacer ta fonction action7 par simplement Code on action7(tFiles) return tFiles end action7 De cette façon il ne fera aucun traitement mais te renverra juste la liste des fichiers qu'il considère à traiter. Ce message a été modifié par teddy7545 - 20 Apr 2018, 19:22. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
20 Apr 2018, 18:33
Message
#14
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Ok j'ai pas tout compris mais je vais déjà essayer d'augmenter max deph.
Mais je pense que cela n'y changera rien, en fait ce partie du script ne convient plus, car il y est mention d'un dossier "tempo" qui n'existe plus et qui ne sert rien dans ce cas précis. Je veux juste tous scanner et dès qu'il trouve une image, la traiter c'est tout... |
|
|
20 Apr 2018, 19:18
Message
#15
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Essai avec ce code, à supposer que tu as bien un disque monté qui s'appelle PHOTOS (sinon à adapter au nom de ton volume)
Ici il ne trouve pas toutes les photos mais seulement le jpg ... Tu auras donc un résultat seulement si c'est la bonne extension. Si tu as plusieurs types d'extensions dans tes photos dis moi lesquelles Code property ajout : {}
property sous_dossiers : {} property masterFolder : "" property dossier_a_traiter : "" on rechercheFichiers(d) -- recherche fichiers et dossiers set tFiles to do shell script "/usr/bin/find " & (quoted form of d) & " \\! -name '.*' -name '*.jpg' " if tFiles is not "" then return paragraphs of tFiles return "Aucun fichier trouvé" end rechercheFichiers on idle set dossier_a_traiter to "/Volumes/PHOTOS" --**** tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action7(it) -- si des éléments sont trouvés, execute la fonction action7 end idle on action7(tFiles) return tFiles -- pas de traitement mais juste la liste des fichiers à traiter end action7 idle {} -- uniquement en test pour que le script se lance depuis l'éditeur. Ce message a été modifié par teddy7545 - 20 Apr 2018, 21:33. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
20 Apr 2018, 20:16
Message
#16
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
et donc ce code je le met ou ?
car c'est le code qui trie les photos portrait / paysage et lance le droplet adéquat: Code on action7(tFiles)
script ob -- seulement les actions Photoshop on PSD_process(this_path) set tCollection to "photos-paysage" --****+ tell application "Adobe Photoshop CC 2015.5" open alias this_path showing dialogs never tell the current document if width < height then set tCollection to "photos-portrait" -- format Portrait--****+ do action "REDIM" from tCollection --**** close saving no end tell end tell end PSD_process end script end action7 |
|
|
20 Apr 2018, 20:23
Message
#17
|
|
Adepte de Macbidouille Groupe : Membres Messages : 176 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Bonsoir,
Je vois que tu as trouvé de l'aide avec "teddy7545" Quelques explications sur mon script te permettra de l'adapter à tes besoins le script te demande de choisir le dossier à traiter, il prend en compte la totalité des sous dossiers. il regarde si l'extension du fichier trouvé est dans la liste défini dans cette ligne :"set extension_a_traiter to {"jpg", "pdf", " png"} -- Liste des extensions à traiter" tu peux y mettre les extensions qui t'intéressent notamment "psd". si l'extension est dans la liste, il récupère les dimensions de l'image avec ces lignes : tell application "Image Events" set b to open (lefichier as alias) set {wid, hit} to b's dimensions close b end tel puis défini si c'est portrait ou paysage. avec cette ligne : " if wid < hit" si portrait il exécute la ligne : "set label index of lefichier to 6" qui met le label vert sinon il exécute le ligne : " "set label index of lefichier to 2" qui met le label rouge Il te suffit donc de remplacer ces ligne par l'action photoshop qui doit être exécuter dans chaque cas Tu parlais de la variable inspecter: c'est la variable du nom de la routine (qui fait le traitement) qui est appelée après avoir choisi le dossier. Appel de la routine avec "my inspecter" et le début de routine avec "on inspecter" -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
20 Apr 2018, 20:54
Message
#18
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Ok merci mais je suis pas doué dans ce langage, j'ai donc fait ceci:
Mais çà donne rien... rien ne ce passe, ni message d'erreur, rien... Code property ajout : {}
property sous_dossiers : {} property masterFolder : "" property dossier_a_traiter : "" on rechercheFichiers(d) -- recherche fichiers et dossiers set tFiles to do shell script "/usr/bin/find " & (quoted form of d) & " \\! -name '.*' -name '*.jpg' " if tFiles is not "" then return paragraphs of tFiles return "Aucun fichier trouvé" end rechercheFichiers on idle set dossier_a_traiter to "/Volumes/PHOTOS" --**** tell my rechercheFichiers(dossier_a_traiter) to if it is not "" then my action7(it) -- si des éléments sont trouvés, execute la fonction action7 end idle on action7(tFiles) script ob -- seulement les actions Photoshop on PSD_process(this_path) set tCollection to "photos-paysage" --****+ tell application "Adobe Photoshop CC 2015.5" open alias this_path showing dialogs never tell the current document if width < height then set tCollection to "photos-portrait" -- format Portrait--****+ do action "REDIM" from tCollection --**** close saving no end tell end tell end PSD_process end script end action7 idle {} -- uniquement en test pour que le script se lance depuis l'éditeur. Ce message a été modifié par MacMame - 20 Apr 2018, 20:55. |
|
|
20 Apr 2018, 21:01
Message
#19
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Pour comprendre ton problème essai de décomposer ton problème.
Pour le moment il s'agit de comprendre si ton script trouve bien une liste de fichier. Et quand cette partie fonctionnera (chez moi ça fonctionne) on pourra passer à la seconde partie avec action7 dans photoshop As tu essayé le script du message 15 sans rien changer ? Ou le colles tu ? dans l'éditeur de script Applescript ? As tu obtenu un résultat ? As tu effectivement un Volume (un disque dur ou une clé) qui se nomme PHOTO ?? Quelles extensions ont tes photos ? Ce message a été modifié par teddy7545 - 20 Apr 2018, 21:12. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
20 Apr 2018, 21:17
Message
#20
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Alors oui j'ai exécuté dans applescript le script de ton message 15, mais j'ai cette erreur:
En faisant play dans l'éditeur applescript, j'ai: Code Erreur de syntaxe fin de ligne prévus mais jeton inconnu trouvé. Mon dossier est bien monté, c'est ok de ce coté la. Mes fichiers sont JPG et PNG, c'est tout. |
|
|
20 Apr 2018, 21:21
Message
#21
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Dans la ligne return tFiles. enlève juste le point en fin de ligne
-------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
20 Apr 2018, 21:37
Message
#22
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Ok, je n'est plus de message d'erreur mais j'ai rien .... rien ne s'affiche, rien ne se passe.
|
|
|
21 Apr 2018, 08:01
Message
#23
|
|
Adepte de Macbidouille Groupe : Membres Messages : 176 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Si j'ai bien compris, d'après ton message #18, tu veux donc exécuter dans la version "Adobe Photoshop CC 2015.5" un script "REDIM" qui est dans la collection (suivant le cas) "photos-paysage" ou "photos-portrait"
Donc le script ci-dessous te demande de choisir le dossier à traiter et exécute le script. Attention le nom de la version photoshop, des collections et des scripts doit être exact y compris majuscules, minuscules. Code tell application "Finder" set cheminsource to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à traiter" my inspecter(cheminsource) end tell on inspecter(source) tell application "Finder" -- traitement des fichiers : set les_fichiers to files of source repeat with chaque_fichier in les_fichiers -- traitement d'un fichier tell application "Finder" set lefichier to chaque_fichier set extension_a_traiter to {"jpg", " png", "psd"} -- Liste des extensions à traiter set nom to name of chaque_fichier set extens to document file nom in source --recupere l extension du fichier set lextension to name extension of extens if lextension is in extension_a_traiter then tell application "Image Events" set b to open (lefichier as alias) set {wid, hit} to b's dimensions close b end tell set monfichier to lefichier as string if wid < hit then set tCollection to "photos-portrait" tell application "Adobe Photoshop CC 2015.5" -- à corriger avec ta version open file monfichier do action "REDIM" from tCollection -- le script sauvegarde et ferme l'image après traitement close saving no end tell else set tCollection to "photos-paysage" tell application "Adobe Photoshop CC 2015.5" -- à corriger avec ta version open file monfichier do action "REDIM" from tCollection -- le script sauvegarde et ferme l'image après traitement close saving no end tell end if end if end tell end repeat -- traitement des dossiers : set les_dossiers to folders of source repeat with chaque_dossier in les_dossiers -- traitement d'un dossier my inspecter(chaque_dossier) end repeat end tell end inspecter tell application "Finder" (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"}) end tell -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
21 Apr 2018, 10:12
Message
#24
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Ah super merci ZELTRON !! , t'est un expert, merci aussi à TEDDY pour avoir pris de son temps hier !
Donc ZELTRON, c'est top, donc si je veux automatiser le dossier , donc surveiller le dossier je fait comment ? (pour éviter la boite de dialogue) j'ai repris mon exemple Code set cheminsource to "/Volumes/MONDISK/PHOTOS" --**** tell my inspecter(cheminsource) to if it is not "" then my action7(it) Mais action7, n'est plus utile, de plus j'ai Code "il es impossible d'obtenir every file of "VOLUME/...." Question, à la fin du traitement des images, est-ce qu'ont peu copier le dossier sur un autre dossier et envoyer un email ? ce serais top ! UN GRAND MERCI ! |
|
|
21 Apr 2018, 10:23
Message
#25
|
|
Adepte de Macbidouille Groupe : Membres Messages : 176 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
beaucoup de questions !
J'ai pas tout compris Citation si je veux automatiser le dossier C'est à dire ? Citation donc surveiller le dossier je fait comment ? (pour éviter la boite de dialogue) si tu peux être plus concret! décrire ce que tu veux que ça fasse ! Action 7 n'est plus utile puisque j'ai mis son contenu dans mon script. Citation à la fin du traitement des images, est-ce qu'ont peu copier le dossier sur un autre dossier Tu veux dupliquer le dossier de départ ? et ou (sur le bureau) ? Citation envoyer un email Pourquoi pas on peut essayer ? il faut les éléments ... on verra pour ajouter ça lorsque tout le reste fonctionnera ! -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
21 Apr 2018, 11:00
Message
#26
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Alors je vais détailler par étape, ce sera plus simple
ETAPE #1/ Je ne veux pas choisir le dossier source via la boite de dialogue au début, je veux juste définir un dossier dans le script, dès qu'ont y dépose des images, le script ce lance (c'est en fait ce que faisait mon ancien script), plus pratique pas besoins de lancer en fait le script. (dès que je dépose des images, il lance le script, je me rappel même avoir fait un temporisateur, pour attendre la fin des chargements des images....car le script avait tendance à ce lancer avant même la fin du chargement.... mais je ne me rappel plus du code qui fait çà... je vais le retrouver si tu veux...) ETAPE #2/ Il traite les photos (il sauve sur elle même avec PSD) ETAPE #3/ A la fin du processus, une fois les images modifié sur elle même, je voudrais copier le contenu du dossier "/Volumes/MONDISK/PHOTOS" (les photos qui ont été traité) dans un autre dossier "/Volumes/MONDISK/PHOTOS-TRAITE", voir mieux, le copier sur un serveur FTP. ETAPE #4/ Au final dès que le transfert est fait en FTP, envoyer un email... Voila, ce que je souhaitait faire à la base, mais n'étant que bidouilleur en apple script, j'ai du voir mes prétentions à la baisse. Merci |
|
|
21 Apr 2018, 11:27
Message
#27
|
|
Adepte de Macbidouille Groupe : Membres Messages : 176 Inscrit : 15 Mar 2008 Lieu : Lorraine Membre no 110 156 |
Pour l'étape 1 et 2
Il faut donc faire une action de dossier qui déclenche le script Le script va donc traiter toutes les images déposées dans ce dossier Etape 3 : Copier, coller du dossier (PHOTOS) dans dossier (PHOTOS-TRAITE) ou un FTP, puis vider le dossier original (PHOTOS)--> corbeille Etape 4: Envoyer un email avec : mail ou outlook ou ?? Week-End oblige je regarde dés demain ou lundi ! pour essayer de faire ça ! Mais avant: Est ce que le script tel quel fonctionne chez toi et obtients-tu le résultats attendu dans le dossier ? Ce message a été modifié par Zeltron54 - 21 Apr 2018, 12:03. -------------------- Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6) Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3 |
|
|
21 Apr 2018, 11:32
Message
#28
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
ETAPE #1/
Pour que ça fonctionne comme tu le souhaites il faut créer une application qui reste ouverte C'est le rôle du statement d'AppleScript prévu à cette effet : "on idle". Ce statement ne fonctionne qu'avec les applications dont la case "Rester en arrière plan" a été cochée. -> donc pas dans l'éditeur La durée entre deux exécutions est fixée par "return xx" ou xx est un nombre entier de seconde(s). Ce mode de fonctionnement te conviendrait t'il ? Sinon il faudra utiliser les actions de dossier. ETAPE #2/ La j'ai pas bien compris ce que tu voulais dire. ETAPE #3/ Souhaites tu toujours que le traitement s'effectue en récursif dans tous les sous dossiers de /Volumes/MONDISK/PHOTOS? Copier le répertoire oui c'est possible. Le copier directement sur un serveur FTP ça doit être également faisable mais faut que je cherche un peu. ETAPE #4/ Envoyer un email c'est tout à fait réalisable également. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
21 Apr 2018, 16:36
Message
#29
|
|
Adepte de Macbidouille Groupe : Membres Messages : 109 Inscrit : 11 Jan 2010 Membre no 148 488 |
Pour l'étape 1 et 2 Il faut donc faire une action de dossier qui déclenche le script Le script va donc traiter toutes les images déposées dans ce dossier Etape 3 : Copier, coller du dossier (PHOTOS) dans dossier (PHOTOS-TRAITE) ou un FTP, puis vider le dossier original (PHOTOS)--> corbeille Etape 4: Envoyer un email avec : mail ou outlook ou ?? Week-End oblige je regarde dés demain ou lundi ! pour essayer de faire ça ! Mais avant: Est ce que le script tel quel fonctionne chez toi et obtients-tu le résultats attendu dans le dossier ? DOSSIER: - OK pour l'action de dossier (après le script ne doit pas démarrer avant que les photos soit chargé....) - OUI il faut prévoir un dossier recursive COPIE DES IMAGES: OK pour la copie des photos dans (PHOTO-TRAITE) , les photos d'origine, ont peux les garder, juste les déplacer dans un dossier POUBELLE par ex. (comme çà j'ai une sauvegarde) 1/ Oui ton script fonctionne, il faut juste que je réalise les bons droplet PSD, (paysage et portrait).... 2/ Alors ma machine reste toujours allumé, donc pas de problème de ce coté la. 3/ Pour les emails, je sais pas, ont est obligé d'utiliser l'application mail ? sinon, oui j'utilise mail. Voila. |
|
|
21 Apr 2018, 16:47
Message
#30
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 |
Citation DOSSIER: - OK pour l'action de dossier (après le script ne doit pas démarrer avant que les photos soit chargé....) - OUI il faut prévoir un dossier recursive La il me semble que ca va poser problème. Les actions de dossier ne répondent que dans le dossier défini mais pas dans ses sous dossiers (je viens de tester) Comment les photos sont t'elles créées ? Quel est le mode de classement dans les sous dossiers ? Je vois quelques solutions possibles (il y en a sans doute beaucoup d'autres) Soit on place toutes les photos dans le répertoire associé à une action en définissant un nom à la création des fichiers qui peut nous permettre des les déplacer automatiquement après traitement dans le bon sous répertoire. Soit on utilise plutôt une fonction qui surveille le répertoire et ses sous dossiers à fréquence régulière (idle avec script en tâche de fond) Pas instantané mais peut être pas gênant que le rafraîchissement ne se fasse que toutes les minutes ou toutes des 10 minutes. -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
Nous sommes le : 26th September 2024 - 14:14 |