Bonjour,

J'utilise un script python dans le logiciel FME pour préparer les traitements qui seront effectués dans ce dernier.
Lorsque le script est simple par exemple :
var = 'test'
return var
Le programme récupère bien 'var' et poursuit les traitements qu'il doit effectuer en fonction de cette variable.

En revanche dans un cadre plus élaboré, je ne parviens pas à récupérer ma variable de retour et à poursuivre les traitements.
Mon code se présente sous la forme suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import psycopg2
import fmeobjects
import sys
import PyQt4
import signal
from PyQt4 import QtCore, QtGui
 
class Example(QtGui.QWidget):
    def __init__(self):
        super(Example, self).__init__()  
        self.initUI()
    def initUI(self):
        *****
        self.show()
    def selection(self):
         ****
    def valide(self):
          ****  
    def traitement(self, selection):
          return resultat #Fonctionne pas
          ****  
def main():
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
if __name__ == '__main__':
    main()
J'ai essayé sys.exit(resultat), return resultat dans la fonction main() sans succès

Pourriez vous m'aider à comprendre pourquoi je ne parviens pas à récupérer ma variable ?

Merci d'avance.

Voici le lien de la discussion d'origine sur georezo :
http://georezo.net/forum/viewtopic.php?id=86049

edit :

Finalemement, il n'y avait pas de difficulté, j'ai défini ma variable result en global et j'ai écrit le "return result" à la toute fin du script en dehors de la classe et des fonctions.