Comme me l'a fait remarqué Gyls 29 avec le script de déplacement des pièces jointes dans les dossiers correspondants, les pièces jointes disparaissent de l'affichage à l'écran.
La solution est donc de ne pas déplacer les pièces jointes (commande mv) mais de les copier (commande cp).
Ceci entraîne deux problèmes :
1) ça finit par prendre de la place toutes ces pièces jointes, donc je propose d'effacer le dossier temporaire de renommage des pièces jointes à chaque démarrage de l'ordi.
2) si il y a plusieurs mails à la suite les pièces jointes déjà reçues sont à nouveau renommées et copiées à nouveau dans le dossier photo ce qui pose problème (redondance des photos)
La solution consiste à copier les photo dans un autre dossier temporaire, les renommer dans ce dossier là puis les déplacer. Ainsi si un autre e-mail arrive les anciennes PJ seront renommées de la même façon que la première fois et donc seront copier pour remplacer celle déjà existante = pas de doublons.
Oulà, c'est vraiment pas super clair mon affaire. Un dessin vaut mieux qu'un long discours :
1) Attachement extractor copie les PJ dans le dossier ".renommer" (Ex: photo1.jpg copiée dans le dossier renommer)
2) Attachement Extractor ouvre les PJ
3) On copie les PJ dans un autre dossier temporaire ".renomer2" (Ex: photo1.jpg dans les dossier .renommer et .renommer2)
4) On renomme les PJ du dossier temporaire n°2 = ".renommer2" en rajoutant la date (Ex: photo1.jpg toujours présente dans le dossier " .renommer" et dans le dossier ".renommer2" elle change de nom et s'appelle 2011_07_28_photo1.jpg. Comme photo1.jpg du dossier ".renommer" n'a pas changée ni de place ni de nom elle est toujours ouverte par Attachment Extractor)
5) On déplace toutes les photos du dossier ".renommer2" vers le dossier de destination "Photos" (Ex: photo1.jpg toujours dans le dossier ".renommer" et 2011_07_28_photo1.jpg dans le dossier "Photos" et le dossier ".renommer2" est maintenant vide.)
Enfin, voilà ce qui se passe si on reçoit un deuxième mail avec un autre PJ :
1) Attachement Extractor copie la nouvelle pièce jointe photo2.jpg (Ex: dossier ".renommer" contient : "photo1.jpg" et" photo2.jpg" / ".renommer2"=vide / "Photos"=2011_07_28_photo1.jpg)
2) AE ouvre "photo2.jpg"
3) on copie les 2 PJ dans ".renommer2" (la nouvelle = photo2.jpg et l'ancienne = photo1.jpg encore présente dans ".renommer")
4) On renomme les PJ du dossier ".renommer2" en rajoutant la date.
5) On déplace les 2 PJ dans le dossier "Photos" (Ex: dossier ".renommer2" = 2011_07_28_photo1.jpg + 2011_07_28_photo2.jpg et "Photos"=2011_07_28_photo1.jpg. Comme photo1 a le même nom dans le dossier ".renommer2" et "Photos" celle du dossier" .renommer2" remplace celle du dossier "Photos" et au final il n'y a qu'une copie de photo1 et 1 copie de photo2 dans le dossier "Photos".)
Enfin, au redémarrage de l'ordi on efface le contenu du dossier ".renommer"
RQ 1: je sais c'est pas un dessin, mais bon c'est pas facile à dessiner non plus!
RQ 2 : Dans ma tête ça avait l'air simple mais une fois écrit c'est une solution vraiment toute moche!
Alors comme un bout de code vaut mieux qu'un long discours :
Code pour copie des PJ et renommer:
#!/bin/bash sleep 30 # sleep 30 permet d'attendre que toutes les PJ soit extraient #on se place dans le dossier .renommer cd ~/Photos/.renommer #on copie toutes (*) les PJ du dossier .renommer dans .renommer2 cp * ~/Photos/.renommer2 #on se place dans le dossier .renommer2 cd ~/Photos/.renommer2 #et on renomme les photos avec la date rename 's/^/use POSIX qw(strftime);strftime("%Y-%m-%d_", localtime(time))/e' * #on déplace les différents types de fichiers dans les dossiers correspondants mv *.wmv ~/Vidéo mv *.avi ~/Vidéo mv *.flv ~/Vidéo mv *.mkv ~/Vidéo mv *.mp4 ~/Vidéo mv *.mpg ~/Vidéo mv *.mpeg ~/Vidéo mv *.mov ~/Vidéo mv *.vob ~/Vidéo mv *.asf ~/Vidéo mv *.kml ~/Lieux mv *.kmz ~/Lieux mv * ~/Photos exit 0;
Code pour effacer le dossier .renommer à chaque démarrage (à lancer par "Applications aux démarrage"):
#!/bin/bash rm ~/Photos/.renommer/* exit; 0
Ouf, maintenant ça à l'air de marcher! Ca nécessite juste deux dossiers cachés qui servent comme dossiers temporaires.
Ordinateur pour grand-parents, ordinateur pour papy, ordinateur pour personnes âgée, linux pour mamie, linux pour papy, linux pour personne âgée, linux pour grands-parents.
En fait si je comprends bien le soucis de base et sa chronologie :
RépondreSupprimer1- autoextract enregistre les pièces jointes
2- autoextract ouvre les fichiers qu'il vient d'enregistrer
3- le script renomme le fichier ouvert donc il se ferme
4- le script déplace le nouveau fichier
ce qu'il faudrait faire :
1- autoextract enregistre les pièces jointes
2- le script renomme le fichier ouvert donc il se ferme
3- le script déplace le nouveau fichier
4- le script ouvre le nouveau fichier à son nouvel emplacement.
2 soucis :
# je ne sais pas comment ouvrir un fichier à l'aide du script
# je ne vois pas comment n'ouvrir que les derniers fichiers arrivés sans faire une liste mais autoextract le fait donc c'est jouable.
Autre solution :
1- autoextract enregistre les pièces jointes
2- le script renomme le fichier ouvert donc il se ferme
3- le script déplace le nouveau fichier
4- Un script ouvre les fichiers à partir du mail qui lui n'a pas bougé (mais dans ce cas c'est une extension de TB ou une modif d'autoextract)
Salut,
RépondreSupprimerJe viens de tomber par hasard sur ton site et on peut dire qu'il est extra (je l'ai dévoré) !!!
Je cherchais justement de telles informations, il y a de cela environ un an pour des parents qui souhaitaient se mettre a l'informatique (pour les memes raisons).
Le projet avait été remis dans les cartons mais maintenant y a plus qu'a...
Encore bravo pour cet excellent boulot !
Autre remarque sur ce script, j'ai eu un problème sur la case des extensions.
RépondreSupprimerIl a fallut que je rajoute des lignes avec les majuscules :
jpg et JPG
au lieu de mv ou cp tu peux utiliser ln , dans ce cas le fichier est reelment à deux endroits à la fois.
RépondreSupprimer