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