Bonjour à tous,

J'ai actuellement un soucie lors de l'appel d'une classe que je n'arrive pas à résoudre.

Voici en gros la structure de ma première classe qui est la classe d'interface de mon plugin :
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
28
29
30
31
32
33
34
35
36
37
38
# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import *
#from qgis.core import *
import sys
import os
import unicodedata
import psycopg2
import xlrd
from xlrd import XLRDError
import csv
from ui_option import Ui_Option
from ui_srid import Ui_Srid
from ui_modification import Ui_ModifyData
from  wp_importation import Wp_importation

class Ui_PostgisConnection(QtGui.QDialog):
    def __init__(self, parent=None):
        super(Ui_PostgisConnection, self).__init__(parent)
        self.wp = Wp_importation()
        self.selection= []
        ...
        création de l'interface
        ...
   def xxx(self):
        ... 
   def val_import(self):
        idx = self.index_sh + 1
        values = (unicode(self.lnE_browse.text()), unicode(self.lnE_srid.text()),idx)
        if all(values):
            #self.postGIS (values)
            self.wp(values)
            print 'post gis'
            self.lnE_browse.clear()
            self.lnE_srid.clear()
        else:
            self.btn_Import.setEnabled(False)
Dans la focntion def val_import(self) j'appelle la classe Wp_importation et lui passe des données via un tupple values.

Voici la structure de ma classe Wp_importation :
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
# -*- coding: utf-8 -*-
import sys
import os
import unicodedata
import psycopg2
import xlrd
from xlrd import XLRDError
import csv
from ui_option import Ui_Option

class Wp_importation:
     def __init__(self,data):
         print 'data', data
         self.wp_data = data
         wp_postgis()

     def wp_postgis(self) :
        path, srid, index = self.wp_data
        ....
Voici l'erreur que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
TypeError: __init__() takes exactly 2 arguments (1 given)
Ma fonction __init__() est défini comme cela : def __init__(self,data):
Via ma première classe je lui passe bien un argument : self.wp(values)
Je ne comprend pas pourquoi il souhaite un argument de plus puisque le self est interne à la classe, non ?

Merci d'avance pour vos conseils et vôtre aide