Page 1 sur 1

[RESOLU] Modification de la date des fichiers copiés

Publié : 28 janv. 2022 - 16:38
par erousseau
Bonjour,

Je souhaite faire un package pour l'installation d'un logiciel "portable" (développement interne).

Or quand on installe des fichiers (avec copytree2), la date de modification de ces fichiers est changée avec la date d'installation.

Je trouve cela gênant (surtout pour les exe, dll, ..). Existe-il un moyen de l'éviter ?

Merci

Etienne

- Version de WAPT installée: 2.1.2
- OS du serveur : Linux
- OS de la machine d'administration/création des paquets : Windows 10

Re: Modification de la date des fichiers copiés

Publié : 01 févr. 2022 - 15:32
par dcardon
Bonjour Etienne,

en effet la librairie Zip de Python ne restaure pas les timestamp, c'est un bug/limitation/feature de Python...
Ceci dit les données sont bien présentes dans l'archives, et il y a l'API disponible pour récupérer le timestamp dans le fichier zip. Donc on devrait pouvoir faire quelque chose, mais il faut que ce soit au moment du dezip. Mais ça sous-entend de faire deux fois les accès aux fichiers dézippé, il faut voir l'impact.
Pour l'instant vous pouvez corriger le timestamp avec la fonction python os.utime(..) en notant les timestamps que vous avez besoin de restaurer.
Je vais faire un ticket en interne avant le zippage.

Cordialement,

Denis Cardon

Re: Modification de la date des fichiers copiés

Publié : 02 févr. 2022 - 12:44
par erousseau
Bonjour Denis,

Merci de votre réponse.

Il me semble que, dans la majorité des cas, lorsque l'on dézippe un fichier on s'attend à retrouver la date de modification inchangée. Le fonctionnement de la librairie Zip de Python me paraît étrange...

S'il était possible de faire quelque chose dans WAPT ce serait formidable !

En attendant, existe-il un moyen de lire l'archive de WAPT au moment de l'installation (depuis la procédure "install") pour récupérer les dates des fichiers ?

Etienne

Re: Modification de la date des fichiers copiés

Publié : 03 févr. 2022 - 10:37
par dcardon
Bonjour Etienne,
erousseau a écrit : 02 févr. 2022 - 12:44 Il me semble que, dans la majorité des cas, lorsque l'on dézippe un fichier on s'attend à retrouver la date de modification inchangée. Le fonctionnement de la librairie Zip de Python me paraît étrange...
oui, j'avoue que moi aussi j'ai trouvé cela assez curieux.
erousseau a écrit : 02 févr. 2022 - 12:44 S'il était possible de faire quelque chose dans WAPT ce serait formidable !
Le ticket est fait, mais ça ne sera probablement pas dans la prochaine version 2.2 qui devrait sortir très prochainement. Il faudra attendre la 2.3.
erousseau a écrit : 02 févr. 2022 - 12:44 En attendant, existe-il un moyen de lire l'archive de WAPT au moment de l'installation (depuis la procédure "install") pour récupérer les dates des fichiers ?
Si ma mémoire est bonne le paquet est supprimé du cache wapt uniquement quand il est correctement installé. Vous devriez donc pouvoir le trouver dans $WAPT_HOME\cache (à vérifier).

Denis

Re: Modification de la date des fichiers copiés

Publié : 04 févr. 2022 - 11:11
par erousseau
Bonjour Denis,

Merci pour vos réponses.

En attendant la version 2.3 (qui simplifierai bien les choses) je vais essayer de récupérer les dates dans l'archive, sinon je ferais (en plus du package WAPT) un installeur pour mon application.

Etienne