Bonjour,

J'ai des coubes que je crée à partir de données contenues dans un fichier de la manière 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
 
curves = []					
curvesDict = {} # initialise id = Curve
for a in p_articles:
	print "remplissage dic", a.id
	curvesDict[int(a.id)] = Curve.Curve()
 
print "dic", curvesDict
 
time = 0 # TODO period
for r in self.getStockReapro():	
	print "line in stock reapro", r
	for a in p_articles:						
		if r['idArticle'] == a.id:				
			print r['idArticle'], " = ", a.id
			print "curve avant", curvesDict[int(a.id)].data
			curvesDict[int(a.id)].addPoint(time, r['qteTo'])
			print "curve apres", curvesDict[int(a.id)].data
			time += 1	
			break
curves.extend(curvesDict.values())		
print "Curve created in model", curves
for c in curves:
	print "curve = ", c.data
return curves
Le problème, c'est que quoi qu'il arrive r['idArticle] me renvoie toujours la même référence de Curve alors qu'elle devrait m'envoyer celle qui correspond depuis le dictionnaire ?

Du coup, au lieu de remplir chacune des courbves, selon leur id, avec les points qu'il faut, je me retrouve avec deux courvbes à la fin avec toutes les données !!!???

Voici, la trace :

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
remplissage dic 1
remplissage dic 2
dic {1: <Curve.Curve instance at 0x0292AE90>, 2: <Curve.Curve instance at 0x0292
F148>}
line in stock reapro {'date': '22/09/2011 14:31:14', 'idArticle': '1', 'qteTo':
50, 'qteFrom': 0}
1  =  1
curve avant []
curve apres [[0.0, 50.0]]
line in stock reapro {'date': '22/09/2011 14:31:43', 'idArticle': '1', 'qteTo':
3, 'qteFrom': 0}
1  =  1
curve avant [[0.0, 50.0]]
curve apres [[0.0, 50.0], [1.0, 3.0]]
line in stock reapro {'date': '23/09/2011 09:44:35', 'idArticle': '1', 'qteTo':
10, 'qteFrom': 0}
1  =  1
curve avant [[0.0, 50.0], [1.0, 3.0]]
curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0]]
line in stock reapro {'date': '23/09/2011 09:46:18', 'idArticle': '1', 'qteTo':
2, 'qteFrom': 0}
1  =  1
curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0]]
curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0]]
line in stock reapro {'date': '23/09/2011 09:46:23', 'idArticle': '1', 'qteTo':
1, 'qteFrom': 0}
1  =  1
curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0]]
curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0]]
line in stock reapro {'date': '23/09/2011 09:56:03', 'idArticle': '2', 'qteTo':
2, 'qteFrom': 0}
2  =  2
curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0]]
curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
 2.0]]
line in stock reapro {'date': '23/09/2011 09:56:07', 'idArticle': '2', 'qteTo':
3, 'qteFrom': 0}
2  =  2
curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
 2.0]]
curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
 2.0], [6.0, 3.0]]
line in stock reapro {'date': '23/09/2011 09:56:12', 'idArticle': '2', 'qteTo':
10, 'qteFrom': 0}
2  =  2
curve avant [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
 2.0], [6.0, 3.0]]
curve apres [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0,
 2.0], [6.0, 3.0], [7.0, 10.0]]
Curve created in model [<Curve.Curve instance at 0x0292AE90>, <Curve.Curve insta
nce at 0x0292F148>]
curve =  [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0, 2.
0], [6.0, 3.0], [7.0, 10.0]]
curve =  [[0.0, 50.0], [1.0, 3.0], [2.0, 10.0], [3.0, 2.0], [4.0, 1.0], [5.0, 2.
0], [6.0, 3.0], [7.0, 10.0]]
Il y a un probleme avec les références de Curve, mais je ne comprends pas du tout pourquoi ...