Bonjour Léo-Paul,
Merci pour votre réponse, J'ai bien respecté vos recommandations. J'ai bien effectué une copie de mon dossier dans un dossier utilisateur local dans la partie def install(). Cependant la partie copie dans le profil utilisateur via session_setup ne fonctionne pas. Aurais-je mal codé mon paquet ?
def install(): copytree2('QGIS',r'C:\Users\default\AppData\Roaming\QGIS')
def session_setup(): util=get_current_user() chemin=(r'c:\Users''+util+'\AppData\Roaming'') print(chemin) copytree2(r'C:\Users\Default\Appdata\Roaming\QGIS',chemin)
C'est mieux. Après, il y a encore des soucis : * il faut mettre des r'' (raw string) à chaque string avec des caractère antislash (my fault, j'avais mal corrigé sur le forum) * il ne faut pas terminer ton path avec un '' sinon il fait parti de la string (ie ça donne --c:\users\dcardon\appdata\roaming'--, cf le dernier quote) * le répertoire c:\users\default n'est pas forcément le bon répertoire où mettre le appdata en fonction de ce que l'on veut accomplir. Il peut être plus judicieux de le mettre directement dans le program files de QGIS. Ou encore mieux, dans le dossier 'persistent' de WAPT (nouvelle feature 1.7.4, il faut qu'on la documente :-)
Recommandations: * je trouve qu'il est mieux de faire des substitutions de string plutôt que des concaténations : chemin=(r'c:\Users%\AppData\Roaming' % get_current_user()) * il est possible de tester ton install --ainsi-- que ton session_setup directement dans l'environnement pyscripter. Tu peux lancer le install() dans le menu sur la gauche, vérifier que le répertoire arrive bien dans default\appdata, puis lancer le session_setup et vérifier que ça arrive bien au bon endroit dans ta session. * si possible pour avoir du feedback sur un setup.py, il faut plutôt le mettre dans complètement en pièce jointe à ton mail (en faisant resortir dans le corps de ton mail la partie problématique). * le chemin appdata/roaming peut être obtenu automatiquement avec la fonction user_appdata()
Cordialement,
Denis
Cordialement,
Léo-Paul DEWITTE
Le ven. 21 juin 2019 à 12:25, Denis Cardon <dcardon@tranquil.it mailto:dcardon@tranquil.it> a écrit :
Bonjour Léo-Paul, > Je souhaiterais lors d'un déploiement logiciel sur l'ensemble d'un parc > informatique, copier un dossier dans le profil utilisateur de la > personne (c:\users\XX\AppData\Roaming). > > J'ai essayé d'utiliser la méthode get_current_user() à la fois dans la > partie install et dans la partie session_setup: > copytree2('\\\\[ip_serveur_stockage]\\[dossier]\\[dossier]\\QGIS','C:\\Users\\',get_current_user(),'\\Appdata\\Roaming\\QGIS' > ) > > La copie ne s'effectue pas mais le paquet ne retourne aucune erreur. > Quelqu'un à déjà eu à faire un tel paquet ? ip_serveur_stockage -> pour garantir le meilleur fonctionnement d'un paquet WAPT, celui ci doit être auto-contenu. En fonction du contexte utilisateur et de la connectivité au moment du lancement du script, ce genre d'appel a une bonne chance de ne pas fonctionner. Il faut donc mettre les fichiers de conf utilisateur qgis directement dans le paquet WAPT. Pour modifier une session utilisateur, il faut que les fichiers soient disponible au moment de l'ouverture de la session de l'utilisateur. Vous pouvez les copier dans un sous répertoire de l'installation qgis (par ex. c:\program files\qgis\appdata_user\). Vous pouvez les copier là dans la fonction def install() et les récupérer lors du lancement du fichier def session_setup(). Cf https://forum.tranquil.it/viewtopic.php?t=716 La fonction get_current_user() n'a de sens uniquement dans la fonction session_setup(). Dans la fonction def install(), ça va toujours renvoyer LocalSystem (le compte utilisé pour l'install). Cordialement, Denis Note : votre syntaxe pour la concaténation de path n'est pas bonne. Il faut soit utiliser un make_path, soit faire une substitution de string. > > Cordialement, > > Léo-Paul DEWITTE > > > _______________________________________________ > WAPT mailing list > WAPT@lists.tranquil.it <mailto:WAPT@lists.tranquil.it> > http://lists.tranquil.it/listinfo/wapt > -- Denis Cardon Tranquil IT 12 avenue Jules Verne (Bat. A) 44230 Saint Sébastien sur Loire (FRANCE) tel : +33 (0) 240 975 755 http://www.tranquil.it Tranquil IT recrute! https://www.tranquil.it/nous-rejoindre/ Samba install wiki for Frenchies : https://dev.tranquil.it WAPT, software deployment made easy : https://wapt.fr