88import uuid
99
1010
11+ def printobj (obj ):
12+ print ("\n \n \n Obj => " )
13+ for key , value in obj .__dict__ .items ():
14+ # if not key.startswith('_'): # Ignore les attributs privés
15+ print (f"{ key } : { value } " )
16+ print ("\n \n \n " )
17+
18+
19+ def create_river_basin (id_rb , name , geom , id_climate_class , id_river_flow ):
20+ from gn_module_zh .model .zh_schema import TRiverBasin
21+
22+ rb = TRiverBasin (
23+ id_rb = id_rb ,
24+ name = name ,
25+ geom = geom ,
26+ id_climate_class = id_climate_class ,
27+ id_river_flow = id_river_flow ,
28+ )
29+ return rb
30+
31+
32+ def create_t_rules (rule_id , abbreviation , pane_id , cat_id , subcat_id ):
33+ from gn_module_zh .model .zh_schema import TRules
34+
35+ rule = TRules (
36+ rule_id = rule_id ,
37+ abbreviation = abbreviation ,
38+ pane_id = pane_id ,
39+ cat_id = cat_id ,
40+ subcat_id = subcat_id ,
41+ )
42+ return rule
43+
44+
45+ def create_item (
46+ val_id ,
47+ cor_rule_id ,
48+ attribute_id ,
49+ note ,
50+ note_type_id ,
51+ ):
52+ from gn_module_zh .model .zh_schema import TItems
53+
54+ item = TItems (
55+ val_id = val_id ,
56+ cor_rule_id = cor_rule_id ,
57+ attribute_id = attribute_id ,
58+ note = note ,
59+ note_type_id = note_type_id ,
60+ )
61+ return item
62+
63+
64+ def create_cor_rb_rules (cor_rule_id , rb_id , rule_id ):
65+ from gn_module_zh .model .zh_schema import CorRbRules
66+
67+ cor_rb_rule = CorRbRules (cor_rule_id = cor_rule_id , rb_id = rb_id , rule_id = rule_id )
68+ return cor_rb_rule
69+
70+
71+ @pytest .fixture (scope = "function" )
72+ def rb_data (users ):
73+ coords = (
74+ (- 6.811523 , 42.228517 ),
75+ (9.799805 , 42.228517 ),
76+ (9.799805 , 51.454007 ),
77+ (- 6.811523 , 51.454007 ),
78+ (- 6.811523 , 42.228517 ),
79+ )
80+ polygon = Polygon (coords )
81+ data = {}
82+ with db .session .begin_nested ():
83+ for (
84+ id_rb ,
85+ name ,
86+ geom ,
87+ id_climate_class ,
88+ id_river_flow ,
89+ ) in [
90+ (
91+ 1 ,
92+ "rb1" ,
93+ geoalchemy2 .shape .from_shape (polygon ),
94+ None ,
95+ None ,
96+ ),
97+ ]:
98+ kwargs = {}
99+ s = create_river_basin (
100+ id_rb ,
101+ name ,
102+ geom ,
103+ id_climate_class ,
104+ id_river_flow ,
105+ )
106+ db .session .add (s )
107+ data [name ] = s
108+ return data
109+
110+
11111def create_zh (
12112 main_name ,
13113 code ,
@@ -18,6 +118,7 @@ def create_zh(
18118 id_sdage ,
19119 polygon ,
20120 zh_area ,
121+ main_id_rb ,
21122 ** kwargs ,
22123):
23124 # Import here because TZH class need to be imported after "app instanced"
@@ -35,18 +136,134 @@ def create_zh(
35136 id_sdage = id_sdage ,
36137 geom = polygon ,
37138 area = zh_area ,
139+ main_id_rb = main_id_rb ,
38140 )
39141 return zh
40142
41143
42144@pytest .fixture (scope = "function" )
43145def zh_data (users ):
44- coords = ((0.0 , 0.0 ), (0.0 , 1.0 ), (1.0 , 1.0 ), (1.0 , 0.0 ), (0.0 , 0.0 ))
146+ coords = (
147+ (- 6.811523 , 42.228517 ),
148+ (9.799805 , 42.228517 ),
149+ (9.799805 , 51.454007 ),
150+ (- 6.811523 , 51.454007 ),
151+ (- 6.811523 , 42.228517 ),
152+ )
153+ polygon = Polygon (coords )
154+ rb = create_river_basin (1 , "rb1" , geoalchemy2 .shape .from_shape (polygon ), None , None )
155+ db .session .add (rb )
156+
157+ cor_sdage_rule = create_cor_rb_rules (1 , 1 , 1 )
158+ db .session .add (cor_sdage_rule )
159+ item = create_item (1 , cor_sdage_rule .rule_id , cor_sdage_rule .rule_id , 75 , 1 )
160+ db .session .add (item )
161+
162+ # cor_hab_rule = create_cor_rb_rules(2, 1, 2)
163+ # db.session.add(cor_hab_rule)
164+ # item = create_item(2, cor_hab_rule.rule_id, cor_hab_rule.rule_id, 75, 1)
165+ # db.session.add(item)
166+ #
167+ # cor_flore_rule = create_cor_rb_rules(3, 1, 3)
168+ # db.session.add(cor_flore_rule)
169+ # item = create_item(3, cor_flore_rule.rule_id, cor_flore_rule.rule_id, 75, 1)
170+ # db.session.add(item)
171+
172+ # cor_vertebrates_rule = create_cor_rb_rules(4, 1, 4)
173+ # db.session.add(cor_vertebrates_rule)
174+ # item = create_item(4, cor_vertebrates_rule.rule_id, cor_vertebrates_rule.rule_id, 75, 1)
175+ # db.session.add(item)
176+
177+ # cor_invertebrates_rule = create_cor_rb_rules(5, 1, 5)
178+ # db.session.add(cor_invertebrates_rule)
179+ # item = create_item(5, cor_invertebrates_rule.rule_id, cor_invertebrates_rule.rule_id, 75, 1)
180+ # db.session.add(item)
181+
182+ # cor_eco_rule = create_cor_rb_rules(6, 1, 6)
183+ # db.session.add(cor_eco_rule)
184+ # item = create_item(6, cor_eco_rule.rule_id, cor_eco_rule.rule_id, 75, 1)
185+ # db.session.add(item)
186+
187+ # cor_protection_rule = create_cor_rb_rules(7, 1, 7)
188+ # db.session.add(cor_protection_rule)
189+ # item = create_item(7, cor_protection_rule.rule_id, cor_protection_rule.rule_id, 75, 1)
190+ # db.session.add(item)
191+
192+ # cor_epuration_rule = create_cor_rb_rules(8, 1, 8)
193+ # db.session.add(cor_epuration_rule)
194+ # item = create_item(8, cor_epuration_rule.rule_id, cor_epuration_rule.rule_id, 75, 1)
195+ # db.session.add(item)
196+
197+ # cor_support_rule = create_cor_rb_rules(9, 1, 9)
198+ # db.session.add(cor_support_rule)
199+ # item = create_item(9, cor_support_rule.rule_id, cor_support_rule.rule_id, 75, 1)
200+ # db.session.add(item)
201+
202+ # cor_pedagogy_rule = create_cor_rb_rules(10, 1, 10)
203+ # db.session.add(cor_pedagogy_rule)
204+ # item = create_item(10, cor_pedagogy_rule.rule_id, cor_pedagogy_rule.rule_id, 75, 1)
205+ # db.session.add(item)
206+
207+ # cor_production_rule = create_cor_rb_rules(11, 1, 11)
208+ # db.session.add(cor_production_rule)
209+ # item = create_item(11, cor_production_rule.rule_id, cor_production_rule.rule_id, 75, 1)
210+ # db.session.add(item)
211+
212+ # cor_status_rule = create_cor_rb_rules(12, 1, 12)
213+ # db.session.add(cor_status_rule)
214+ # item = create_item(12, cor_status_rule.rule_id, cor_status_rule.rule_id, 75, 1)
215+ # db.session.add(item)
216+
217+ # cor_management_rule = create_cor_rb_rules(13, 1, 13)
218+ # db.session.add(cor_management_rule)
219+ # item = create_item(13, cor_management_rule.rule_id, cor_management_rule.rule_id, 75, 1)
220+ # db.session.add(item)
221+
222+ # cor_hydro_rule = create_cor_rb_rules(14, 1, 14)
223+ # db.session.add(cor_hydro_rule)
224+ # item = create_item(14, cor_hydro_rule.rule_id, cor_hydro_rule.rule_id, 75, 1)
225+ # db.session.add(item)
226+
227+ # cor_bio_rule = create_cor_rb_rules(15, 1, 15)
228+ # db.session.add(cor_bio_rule)
229+ # item = create_item(15, cor_bio_rule.rule_id, cor_bio_rule.rule_id, 75, 1)
230+ # db.session.add(item)
231+
232+ # cor_thread_rule = create_cor_rb_rules(16, 1, 16)
233+ # db.session.add(cor_thread_rule)
234+ # item = create_item(16, cor_thread_rule.rule_id, cor_thread_rule.rule_id, 75, 1)
235+ # db.session.add(item)
236+
237+ coords = (
238+ (1.307287 , 43.56357 ),
239+ (1.312222 , 43.56357 ),
240+ (1.312222 , 43.566182 ),
241+ (1.307287 , 43.566182 ),
242+ (1.307287 , 43.56357 ),
243+ )
45244 polygon = Polygon (coords )
46245 date = datetime .datetime (2024 , 10 , 2 , 11 , 22 , 33 )
47- id_sdage = 967
246+ id_sdage = cor_sdage_rule .rule_id
247+ # hab =
248+ # flore =
249+ # vertebrates =
250+ # invertebrates =
251+ # eco =
252+ # protection =
253+ # epuration =
254+ # support =
255+ # pedagogy =
256+ # production =
257+ # status =
258+ # management =
259+ # hydro =
260+ # bio =
261+ # thread =
262+
48263 user = users ["self_user" ]
49264 data = {}
265+ data ["rb1" ] = rb
266+ data ["cor_rule" ] = cor_sdage_rule
50267 with db .session .begin_nested ():
51268 for (
52269 main_name ,
@@ -58,6 +275,7 @@ def zh_data(users):
58275 id_sdage ,
59276 geom ,
60277 zh_area ,
278+ main_id_rb ,
61279 ) in [
62280 (
63281 "zh1" ,
@@ -69,6 +287,7 @@ def zh_data(users):
69287 id_sdage ,
70288 geoalchemy2 .shape .from_shape (polygon ),
71289 polygon .area ,
290+ 1 ,
72291 ),
73292 ]:
74293 kwargs = {}
@@ -82,6 +301,7 @@ def zh_data(users):
82301 id_sdage ,
83302 geom ,
84303 zh_area ,
304+ main_id_rb ,
85305 ** kwargs ,
86306 )
87307 db .session .add (s )
0 commit comments