Pagina 1 di 1

Pacchetti per Spark

Pubblicato: 8 febbraio 2021 - 11:39
di Fred-Gie
Ciao, sono nuovo di WAPT e Python

Nella mia azienda utilizzo il client di messaggistica istantanea Spark e vorrei implementarlo tramite WAPT.
Ho creato il pacchetto per la versione 2.9.4, installazione e disinstallazione che funzionano molto bene.
Vorrei anche copiare un file di configurazione in "user_appdata".
Ed è qui che ho bisogno di una mano.

Vorrei verificare che la cartella Spark esista nella cartella Roaming dell'utente.
In tal caso, copierò il mio file lì.
In caso contrario, creo la cartella Spark e copio il mio file al suo interno.

Ecco le righe di codice che ho creato, ma non funziona, deve mancare qualcosa, ma non riesco a vedere cosa.

Codice: Seleziona tutto

def session_setup():
    user_config_dir = makepath(user_appdata(),'Spark')
    Spark_Config = 'spark.properties'

     if not isdir(user_config_dir):
        mkdirs(user_config_dir)
        filecopyto (Spark_Config,user_config_dir)
    if isdir(user_config_dir):
        filecopyto (Spark_Config,user_config_dir)
Grazie in anticipo per il vostro aiuto.

Versione del server WAPT: 1.8.2
Versione dell'agente WAPT: 1.8.2.7334
Versione di installazione WAPT: 1.8.2.7334
Versione di distribuzione WAPT: 1.8.2.7334

Oggetto: Pacchetti per Spark

Pubblicato: 11 febbraio 2021 - 13:45
di dcardon
Il codice Python è valido, ma è necessario tenere conto del contesto di esecuzione. Quando si esegue `session_setup()`, il pacchetto è già stato installato e i file non sono più disponibili nel contesto di esecuzione. Devono essere copiati in una posizione sulla macchina (ad esempio, la directory Spark in Programmi o la directory persistente WAPT) per poterli recuperare quando si esegue `session_setup()`

Oggetto: Pacchetti per Spark

Pubblicato: 12 febbraio 2021 - 14:52
di Fred-Gie
Ciao e grazie per la risposta.
Ho modificato il mio script e ora funziona se eseguo "session-setup" da pyscripter, ma non con WAPTConsole.
Ho l'impressione che non venga eseguita la sezione "session_setup" durante l'installazione.

Ecco la sceneggiatura, se avete qualche idea

Codice: Seleziona tutto

from setuphelpers import *

uninstallkey = []

def install():
    def vers_spark(key):
        return key['name'].replace('Spark','')
    install_exe_if_needed("spark_2_9_4-with-jre.exe",silentflags='-q',key='3057-7228-2063-7466',min_version='2.9.4',killbefore=['spark.exe'],get_version=vers_spark)
    uninstallkey.remove('3057-7228-2063-7466')

    #Copie du fichier config dans dossier d'install:
    Cpy_conf = makepath(programfiles32,'Spark')

    isdir(Cpy_conf)
    filecopyto ('spark.properties',Cpy_conf)
    copytree2 ('PHX-32.adiumemoticonset',makepath(programfiles32,'Spark','PHX-32.adiumemoticonset'))

def uninstall():
    run('"%s" -q' % makepath(programfiles32,'Spark','uninstall.exe'))


def session_setup():

    user_config_dir = makepath(user_appdata(),'Spark')
    Spark_Config = 'spark.properties'
    #Creation répertoire dans roaming et copie du fichiers config.
    if not isdir(user_config_dir):
        mkdirs(user_config_dir)
        filecopyto (Spark_Config,user_config_dir)
        copytree2 ('PHX-32.adiumemoticonset',makepath(user_appdata(),'Spark','xtra','emoticons','PHX-32.adiumemoticonset'))
    if isdir(user_config_dir):
        filecopyto (Spark_Config,user_config_dir)
        copytree2 ('PHX-32.adiumemoticonset',makepath(user_appdata(),'Spark','xtra','emoticons','PHX-32.adiumemoticonset'))

GRAZIE

Oggetto: Pacchetti per Spark

Pubblicato: 17 febbraio 2021 - 11:32
di Fred-Gie
Salve,

ho problemi con l'esecuzione della sezione `def session_setup()`.
Funziona quando la testo in PyScripter, ma non succede nulla durante l'installazione.
codice di `session_setup`nella `install` , funziona.
È necessario un argomento per forzare l'esecuzione di questa sezione?

Grazie in anticipo per l'aiuto.

Versione Debian di WAPT Server: 1.8.2
Versione di WAPT Agent: 1.8.2.7334
Versione di WAPT Setup: 1.8.2.7334
Versione di WAPT Deploy: 1.8.2.7334

Oggetto: Pacchetti per Spark

Pubblicato: 18 febbraio 2021 - 10:49
di dcardon
La funzione session_setup() viene avviata tramite il comando wapt-get.exe session_setup ALL nella sessione dell'utente.
In un'installazione standard dell'agente WAPT, il comando wapt-get.exe session_setup ALL viene eseguito per impostazione predefinita.

Oggetto: Pacchetti per Spark

Pubblicato: 19 febbraio 2021 - 12:39
di Fred-Gie
Ciao e grazie per la risposta.

Ho riscritto la sceneggiatura più volte, ma purtroppo non tutto funziona.

- L'installazione dell'applicazione, la sua disinstallazione, la creazione di una cartella tmp nella directory di installazione e la copia di file e cartelle nella cartella tmp funzionano tutte.

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    def vers_spark(key):
        return key['name'].replace('Spark','')
    install_exe_if_needed("spark_2_9_4-with-jre.exe",silentflags='-q',key='3057-7228-2063-7466',min_version='2.9.4',killbefore=['spark.exe'],get_version=vers_spark)
    uninstallkey.remove('3057-7228-2063-7466')

    #Creation du dossier tmp et copie du fichier config et répertoire smilley.
    isdir(makepath(programfiles32,'Spark'))
    mkdirs (makepath(programfiles32,'Spark','tmp'))
    filecopyto ('spark.properties', makepath(programfiles32,'Spark','tmp'))
    copytree2 ('xtra', makepath(programfiles32,'Spark','tmp','xtra'))
    if not isdir(makepath(user_appdata,'Spark')):
        mkdirs(makepath(user_appdata,'Spark'))
        filecopyto (makepath(programfiles32,'Spark','tmp','spark.properties'),makepath(user_appdata,'Spark'))
        copytree2 (makepath(programfiles32,'Spark','tmp'),makepath(user_appdata,'Spark'))
    if isdir(makepath(user_appdata,'Spark')):
        filecopyto (makepath(programfiles32,'Spark','tmp','spark.properties'),makepath(user_appdata,'Spark'))
        copytree2 (makepath(programfiles32,'Spark','tmp'),makepath(user_appdata,'Spark'))
    
 def uninstall():
    run('"%s" -q' % makepath(programfiles32,'Spark','uninstall.exe'))
Lo spostamento del contenuto della cartella tmp in user_appdata funziona localmente "sul mio PC" tramite PyScripter, ma non funziona con l'agente sulla macchina di destinazione.
Ho modificato il file wapt-get.ini sul PC in questione e ho impostato loglevel=debug, ma non ho altre informazioni sul suo funzionamento.
Le parti "if not" e "if" non vengono elaborate dall'agente, indipendentemente dalla sua posizione nello script "def install()": o "def session():"
È un problema dell'agente o della sceneggiatura?

Oggetto: Pacchetti per Spark

Pubblicato: 9 marzo 2021 - 11:37
di Fred-Gie
Funziona, ma non è istantaneo.
Ho l'impressione che l'installazione avvenga in più fasi, forse finalizzandosi addirittura dopo il riavvio del PC.