[Wapt] copie de fichier dans un profil utilisateur.

Denis Cardon dcardon at tranquil.it
Mon Jun 24 14:55:26 CEST 2019


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 at tranquil.it
> <mailto:dcardon at 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 at lists.tranquil.it <mailto:WAPT at 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
>

-- 
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


More information about the WAPT mailing list