Page 1 sur 1

Session-setup

Posté : 23 janv. 2017 - 14:23
par gaelds
Bonjour,
J'essaye d'utiliser le session_setup pour copier un plugin sketchup dans le répertoire appdata/roaming des utilisateurs. Mais les fichiers ne sont jamais copiés au démarrage de la session. Si je lance manuellement la commande "wapt-get session-setup dst-sketchup-make", j'obtiens :

Configuring dst-sketchup-make ... Done


Voici mon code session_setup dans le setup.py :

Code : Tout sélectionner

def session_setup():
    # Copie des fichiers de l'extension SPL vers C:\Users\<USER>\AppData\Roaming\SketchUp\SketchUp 2017\SketchUp\Plugins
    if not isdir(makepath(user_appdata(),'SketchUp','SketchUp 2017','SketchUp','Plugins')):
            print('creation du dossier Plugins')
            mkdirs(makepath(user_appdata(),'SketchUp','SketchUp 2017','SketchUp','Plugins'))
    for fn in glob.glob('sketchup-stl-2.1.6/*'):
        filecopyto(fn,makepath(user_appdata(),'SketchUp','SketchUp 2017','SketchUp','Plugins'))
        print('Copie des fichiers du plugin SPL Sketchup')

Re: Session-setup

Posté : 23 janv. 2017 - 14:59
par sfonteneau
Bonjour comme indiquer dans la doc:

https://www.wapt.fr/fr/doc/CreationPaqu ... sion-setup

Avec session_setup, il n’est pas possible de faire appel à des fichiers contenus dans le paquet.

Il faudra les copier au préalable dans un répertoire.

Re: Session-setup

Posté : 24 janv. 2017 - 07:10
par gaelds
Merci ! désolé je n'avais pas bien lu la doc :oops:
Pour lancer un programme à chaque démarrage, privilégier l’utilisation d’un script au démarrage contenu dans (shell:startup) ou Démarrage All Users (shell:common startup), ou via une stratégie de groupe locale de démarrage.
On peut utiliser les instruction "shell:startup", "shell:Personal", etc... dans makepath ?

Re: Session-setup

Posté : 24 janv. 2017 - 09:29
par sfonteneau
Bonjour

hum oui c'est pas très claire dans la doc je vais refaire ça...

Vous pouvez faire appelle a startup(1) pour le chemin du startup all user

et vous pouvez faire appelle a startup(0) pour le le chemin du startup de l'utilisateur en cour. (uniquement en session-setup)

Le principe est donc de copier le script qui vous intéresse dans le startup qui vous intéresse.

Re: Session-setup

Posté : 24 janv. 2017 - 11:16
par gaelds
Du coup j'ai un problème sur la copie du répertoire dans un dossier temporaire. Le but est de le copier ensuite dans le répertoire Appdata/roaming de chaque utilisateur lors du session-setup. Pendant l'install j'ai tenté une copie dans un répertoire C:\tmp, mais wapt n'a pas les bonnes permissions apparemment.

Extrait du install():

Code : Tout sélectionner

        mkdirs(makepath('C:','tmp','sketchup-stl-2.1.6'))
        for fn in glob.glob('sketchup-stl-2.1.6/*'):
             filecopyto(fn,makepath('C:','tmp','sketchup-stl-2.1.6'))

Code : Tout sélectionner

Extrait du session_setup():
        if not isdir(makepath(user_appdata(),"SketchUp","SketchUp 2017","SketchUp","Plugins")):
            mkdirs(makepath(user_appdata(),"SketchUp","SketchUp 2017","SketchUp","Plugins"))
        copytree2(makepath('C:','tmp','sketchup-stl-2.1.6'),makepath(user_appdata(),"SketchUp","SketchUp 2017","SketchUp","Plugins"))

Re: Session-setup

Posté : 25 janv. 2017 - 14:49
par gaelds
Voici l'erreur pour la copie dans "C:\tmp" ou "C:\windows\temp\" :

IOError: [Errno 13] Permission denied: 'sketchup-stl-2.1.6\\sketchup-stl'

Code : Tout sélectionner

        for fn in glob.glob('sketchup-stl-2.1.6/*'):
             filecopyto(fn,makepath('C:','windows','temp','sketchup-stl-2.1.6'))