Pacchetti per Spark

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
Fred-Gie
Messaggi: 5
Iscrizioni: 5 febbraio 2021 - ore 17:20

8 febbraio 2021 - 11:39

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
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

11 febbraio 2021 - 13:45

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()`
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Fred-Gie
Messaggi: 5
Iscrizioni: 5 febbraio 2021 - ore 17:20

12 febbraio 2021 - 14:52

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
Fred-Gie
Messaggi: 5
Iscrizioni: 5 febbraio 2021 - ore 17:20

17 febbraio 2021 - 11:32

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
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

18 febbraio 2021 - 10:49

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.
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Fred-Gie
Messaggi: 5
Iscrizioni: 5 febbraio 2021 - ore 17:20

19 febbraio 2021 - 12:39

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?
Fred-Gie
Messaggi: 5
Iscrizioni: 5 febbraio 2021 - ore 17:20

9 marzo 2021 - 11:37

Funziona, ma non è istantaneo.
Ho l'impressione che l'installazione avvenga in più fasi, forse finalizzandosi addirittura dopo il riavvio del PC.
Bloccato