Seite 1 von 1

Sitzungseinrichtung

Veröffentlicht: 23. Januar 2017 - 14:23 Uhr
von den Gälen
Guten Morgen,
Ich versuche, mit `session_setup` ein SketchUp-Plugin in das Verzeichnis `appdata/roaming` des Benutzers zu kopieren. Die Dateien werden jedoch beim Start der Sitzung nicht kopiert. Wenn ich den Befehl `wapt-get session-setup dst-sketchup-make` manuell ausführe, erhalte ich folgende Ausgabe:

dst-sketchup-make wird konfiguriert ... Fertig


Hier ist mein session_setup-Code in setup.py:

Code: Alle auswählen

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

Betreff: Sitzungseinrichtung

Veröffentlicht: 23. Januar 2017 - 14:59 Uhr
von Sfonteneau
Hallo, wie in der Dokumentation (

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

, ist es mit session_setup nicht möglich, auf die im Paket enthaltenen Dateien zuzugreifen.

Sie müssen diese vorher in ein Verzeichnis kopieren.

Betreff: Sitzungseinrichtung

Veröffentlicht: 24. Januar 2017 - 07:10 Uhr
von den Gälen
Danke! Entschuldigung, ich hatte die Dokumentation nicht richtig gelesen :Hoppla:
Um ein Programm bei jedem Systemstart zu starten, empfiehlt sich die Verwendung eines Startskripts, das in (shell:startup) oder Startup All Users (shell:common startup) enthalten ist, oder über eine lokale Startgruppenrichtlinie.
Können wir die Anweisungen „shell:startup“, „shell:Personal“ usw. in makepath verwenden?

Betreff: Sitzungseinrichtung

Veröffentlicht: 24. Januar 2017 - 09:29 Uhr
von Sfonteneau
Hallo

, ja, die Dokumentation ist etwas unklar, ich überarbeite sie.

Mit `startup(1)` erhalten Sie den Pfad zum Startverzeichnis für alle Benutzer

, und mit `startup(0)` den Pfad zum Startverzeichnis des aktuellen Benutzers. (Nur in session-setup)

Das Prinzip ist also, das gewünschte Skript in das gewünschte Startverzeichnis zu kopieren.

Betreff: Sitzungseinrichtung

Veröffentlicht: 24. Januar 2017 - 11:16 Uhr
von den Gälen
Ich habe Probleme, das Verzeichnis in einen temporären Ordner zu kopieren. Anschließend soll es während der Sitzungseinrichtung in das AppData/Roaming-Verzeichnis jedes Benutzers kopiert werden. Bei der Installation habe ich versucht, es nach C:\tmp zu kopieren, aber wapt hat offenbar nicht die erforderlichen Berechtigungen.

Auszug aus install():

Code: Alle auswählen

        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: Alle auswählen

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

Betreff: Sitzungseinrichtung

Veröffentlicht: 25. Januar 2017 - 14:49 Uhr
von den Gälen
Hier ist die Fehlermeldung beim Kopieren nach "C:\tmp" oder "C:\windows\temp\":

IOError: [Errno 13] Zugriff verweigert: 'sketchup-stl-2.1.6\\sketchup-stl'

Code: Alle auswählen

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