Pagina 1 di 1

Impostazione della sessione

Pubblicato: 23 gennaio 2017 - 14:23
di gaelds
Buongiorno,
Sto cercando di usare session_setup per copiare un plugin di SketchUp nella directory appdata/roaming dell'utente. Ma i file non vengono mai copiati all'avvio della sessione. Se eseguo manualmente il comando "wapt-get session-setup dst-sketchup-make", ottengo:

Configurazione di dst-sketchup-make ... Fatto


Ecco il mio codice session_setup in setup.py:

Codice: Seleziona tutto

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: Impostazione della sessione

Pubblicato: 23 gennaio 2017 - 14:59
di sfontenau
Ciao, come indicato nella documentazione:

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

, con session_setup non è possibile accedere ai file contenuti all'interno del pacchetto.

Dovrai copiarli preventivamente in una directory.

Re: Impostazione della sessione

Pubblicato: 24 gennaio 2017 - 07:10
di gaelds
Grazie! Scusa, non avevo letto bene la documentazione :oops:
Per avviare un programma a ogni avvio, è preferibile utilizzare uno script di avvio contenuto in (shell:startup) o Avvia tutti gli utenti (shell:common startup), oppure tramite un criterio di gruppo di avvio locale.
Possiamo usare le istruzioni "shell:startup", "shell:Personal", ecc. in makepath?

Re: Impostazione della sessione

Pubblicato: 24 gennaio 2017 - 09:29
di sfontenau
Ciao

, sì, non è molto chiaro nella documentazione, la rifarò...

Puoi chiamare `startup(1)` per il percorso della directory di avvio per tutti gli utenti

e puoi chiamare `startup(0)` per il percorso della directory di avvio per l'utente corrente. (Solo in session-setup)

Il principio è quindi quello di copiare lo script che ti interessa nella directory di avvio che ti interessa.

Re: Impostazione della sessione

Pubblicato: 24 gennaio 2017 - 11:16
di gaelds
Quindi ho problemi a copiare la directory in una cartella temporanea. L'obiettivo è copiarla poi nella directory AppData/Roaming di ciascun utente durante la configurazione della sessione. Durante l'installazione, ho provato a copiarla in una directory C:\tmp, ma a quanto pare wapt non ha i permessi corretti.

Estratto da install():

Codice: Seleziona tutto

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

Codice: Seleziona tutto

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: Impostazione della sessione

Pubblicato: 25 gennaio 2017 - 14:49
di gaelds
Ecco l'errore durante la copia in "C:\tmp" o "C:\windows\temp\":

IOError: [Errno 13] Permesso negato: 'sketchup-stl-2.1.6\\sketchup-stl'

Codice: Seleziona tutto

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