Page 1 sur 1

[RESOLU] Session_setup() a Chaque demarrage de session

Posté : 22 janv. 2024 - 16:19
par Thyphoon
Bonjour,

Dans le cadre d'un développement de paquet, nous aurions besoin qu'un code s'exécute à chaque ouverture de session.
Nous utilisons actuellement la version 2.4.0141143

Sachant que l'information d'exécution du session_setup() est enregistré dans la waptsession.sqlite nous avons essayé de supprimer cet enregistrement

Code : Tout sélectionner

def session_setup():
      import sqlite3
      db_path=makepath(application_data,"wapt","waptsession.sqlite")
      con = sqlite3.connect(db_path)
      cur = con.cursor()
      cur.execute("delete from wapt_sessionsetup where package='bpi-FontsInstaller'")
      con.close()
Mais ça nous dit que la base de donnée est déjà ouverte.
Y a t'il un moyen d'effacer cet enregistrement , de façon qu'a la prochaine ouverture de session le code de Session_Setup() s'exécute de nouveau ?
Y a t'il une autre façon de le faire ?

Merci d'avance 🙏😊

Re: Session_setup() a Chaque demarrage de session

Posté : 22 janv. 2024 - 16:34
par sfonteneau
Le plus simple c'est dans le code du session-setup de faire a la fin un

return "RETRY"

comme le code n'est pas OK alors a chaque relancement du session_setup.py le code sera executer

Après dans ce genre de cas c'est peu être plus simple de le faire dans un script de démarrage de session a part. Ca dépend de votre besoin

Re: Session_setup() a Chaque demarrage de session

Posté : 22 janv. 2024 - 17:36
par Thyphoon
Merci pour la rapidité de réponse.🥳

C'est intéressant cette proposition de faire un return "RETRY"

On va tester ça.

Notre problème de fond est d'avoir des utilisateurs qui ont besoin de pouvoir installer n'importe quels Fonts sans être administrateurs. L'idée est de faire un package qui scrute un répertoire dans lequel l'utilisateur peut déposer ses fonts pour qu'ils les installent.