77
88import uuid
99
10+ def printobj (obj ):
11+ print ("\n \n \n Obj => " )
12+ for key , value in obj .__dict__ .items ():
13+ # if not key.startswith('_'): # Ignore les attributs privés
14+ print (f"{ key } : { value } " )
15+ print ("\n \n \n " )
16+
17+ def create_river_basin (
18+ id_rb ,
19+ name ,
20+ geom ,
21+ id_climate_class ,
22+ id_river_flow ):
23+ from gn_module_zh .model .zh_schema import TRiverBasin
24+
25+ rb = TRiverBasin (
26+ id_rb = id_rb ,
27+ name = name ,
28+ geom = geom ,
29+ id_climate_class = id_climate_class ,
30+ id_river_flow = id_river_flow
31+ )
32+ return rb
33+
34+ def create_t_rules (
35+ rule_id ,
36+ abbreviation ,
37+ pane_id ,
38+ cat_id ,
39+ subcat_id ):
40+ from gn_module_zh .model .zh_schema import TRules
41+
42+ rule = TRules (
43+ rule_id = rule_id ,
44+ abbreviation = abbreviation ,
45+ pane_id = pane_id ,
46+ cat_id = cat_id ,
47+ subcat_id = subcat_id
48+ )
49+ return rule
50+
51+ def create_item (
52+ val_id ,
53+ cor_rule_id ,
54+ attribute_id ,
55+ note ,
56+ note_type_id ,
57+ ):
58+ from gn_module_zh .model .zh_schema import TItems
59+
60+ item = TItems (
61+ val_id = val_id ,
62+ cor_rule_id = cor_rule_id ,
63+ attribute_id = attribute_id ,
64+ note = note ,
65+ note_type_id = note_type_id ,
66+ )
67+ return item
68+
69+
70+ def create_cor_rb_rules (
71+ cor_rule_id ,
72+ rb_id ,
73+ rule_id ):
74+ from gn_module_zh .model .zh_schema import CorRbRules
75+
76+ cor_rb_rule = CorRbRules (
77+ cor_rule_id = cor_rule_id ,
78+ rb_id = rb_id ,
79+ rule_id = rule_id
80+ )
81+ return cor_rb_rule
82+
83+
84+ @pytest .fixture (scope = "function" )
85+ def rb_data (users ):
86+ coords = ((- 6.811523 , 42.228517 ), (9.799805 , 42.228517 ), (9.799805 , 51.454007 ), (- 6.811523 , 51.454007 ), (- 6.811523 , 42.228517 ))
87+ polygon = Polygon (coords )
88+ data = {}
89+ with db .session .begin_nested ():
90+ for (
91+ id_rb ,
92+ name ,
93+ geom ,
94+ id_climate_class ,
95+ id_river_flow ,
96+ ) in [
97+ (
98+ 1 ,
99+ "rb1" ,
100+ geoalchemy2 .shape .from_shape (polygon ),
101+ None ,
102+ None ,
103+ ),
104+ ]:
105+ kwargs = {}
106+ s = create_river_basin (
107+ id_rb ,
108+ name ,
109+ geom ,
110+ id_climate_class ,
111+ id_river_flow ,
112+ )
113+ db .session .add (s )
114+ data [name ] = s
115+ return data
10116
11117def create_zh (
12118 main_name ,
@@ -18,6 +124,7 @@ def create_zh(
18124 id_sdage ,
19125 polygon ,
20126 zh_area ,
127+ main_id_rb ,
21128 ** kwargs ,
22129):
23130 # Import here because TZH class need to be imported after "app instanced"
@@ -35,18 +142,125 @@ def create_zh(
35142 id_sdage = id_sdage ,
36143 geom = polygon ,
37144 area = zh_area ,
145+ main_id_rb = main_id_rb
38146 )
39147 return zh
40148
41149
42150@pytest .fixture (scope = "function" )
43151def 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 ))
152+ coords = ((- 6.811523 , 42.228517 ), (9.799805 , 42.228517 ), (9.799805 , 51.454007 ), (- 6.811523 , 51.454007 ), (- 6.811523 , 42.228517 ))
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+
158+ cor_sdage_rule = create_cor_rb_rules (1 , 1 , 1 )
159+ db .session .add (cor_sdage_rule )
160+ item = create_item (1 , cor_sdage_rule .rule_id , cor_sdage_rule .rule_id , 75 , 1 )
161+ db .session .add (item )
162+
163+ # cor_hab_rule = create_cor_rb_rules(2, 1, 2)
164+ # db.session.add(cor_hab_rule)
165+ # item = create_item(2, cor_hab_rule.rule_id, cor_hab_rule.rule_id, 75, 1)
166+ # db.session.add(item)
167+ #
168+ # cor_flore_rule = create_cor_rb_rules(3, 1, 3)
169+ # db.session.add(cor_flore_rule)
170+ # item = create_item(3, cor_flore_rule.rule_id, cor_flore_rule.rule_id, 75, 1)
171+ # db.session.add(item)
172+
173+ # cor_vertebrates_rule = create_cor_rb_rules(4, 1, 4)
174+ # db.session.add(cor_vertebrates_rule)
175+ # item = create_item(4, cor_vertebrates_rule.rule_id, cor_vertebrates_rule.rule_id, 75, 1)
176+ # db.session.add(item)
177+
178+ # cor_invertebrates_rule = create_cor_rb_rules(5, 1, 5)
179+ # db.session.add(cor_invertebrates_rule)
180+ # item = create_item(5, cor_invertebrates_rule.rule_id, cor_invertebrates_rule.rule_id, 75, 1)
181+ # db.session.add(item)
182+
183+ # cor_eco_rule = create_cor_rb_rules(6, 1, 6)
184+ # db.session.add(cor_eco_rule)
185+ # item = create_item(6, cor_eco_rule.rule_id, cor_eco_rule.rule_id, 75, 1)
186+ # db.session.add(item)
187+
188+ # cor_protection_rule = create_cor_rb_rules(7, 1, 7)
189+ # db.session.add(cor_protection_rule)
190+ # item = create_item(7, cor_protection_rule.rule_id, cor_protection_rule.rule_id, 75, 1)
191+ # db.session.add(item)
192+
193+ # cor_epuration_rule = create_cor_rb_rules(8, 1, 8)
194+ # db.session.add(cor_epuration_rule)
195+ # item = create_item(8, cor_epuration_rule.rule_id, cor_epuration_rule.rule_id, 75, 1)
196+ # db.session.add(item)
197+
198+ # cor_support_rule = create_cor_rb_rules(9, 1, 9)
199+ # db.session.add(cor_support_rule)
200+ # item = create_item(9, cor_support_rule.rule_id, cor_support_rule.rule_id, 75, 1)
201+ # db.session.add(item)
202+
203+ # cor_pedagogy_rule = create_cor_rb_rules(10, 1, 10)
204+ # db.session.add(cor_pedagogy_rule)
205+ # item = create_item(10, cor_pedagogy_rule.rule_id, cor_pedagogy_rule.rule_id, 75, 1)
206+ # db.session.add(item)
207+
208+ # cor_production_rule = create_cor_rb_rules(11, 1, 11)
209+ # db.session.add(cor_production_rule)
210+ # item = create_item(11, cor_production_rule.rule_id, cor_production_rule.rule_id, 75, 1)
211+ # db.session.add(item)
212+
213+ # cor_status_rule = create_cor_rb_rules(12, 1, 12)
214+ # db.session.add(cor_status_rule)
215+ # item = create_item(12, cor_status_rule.rule_id, cor_status_rule.rule_id, 75, 1)
216+ # db.session.add(item)
217+
218+ # cor_management_rule = create_cor_rb_rules(13, 1, 13)
219+ # db.session.add(cor_management_rule)
220+ # item = create_item(13, cor_management_rule.rule_id, cor_management_rule.rule_id, 75, 1)
221+ # db.session.add(item)
222+
223+ # cor_hydro_rule = create_cor_rb_rules(14, 1, 14)
224+ # db.session.add(cor_hydro_rule)
225+ # item = create_item(14, cor_hydro_rule.rule_id, cor_hydro_rule.rule_id, 75, 1)
226+ # db.session.add(item)
227+
228+ # cor_bio_rule = create_cor_rb_rules(15, 1, 15)
229+ # db.session.add(cor_bio_rule)
230+ # item = create_item(15, cor_bio_rule.rule_id, cor_bio_rule.rule_id, 75, 1)
231+ # db.session.add(item)
232+
233+ # cor_thread_rule = create_cor_rb_rules(16, 1, 16)
234+ # db.session.add(cor_thread_rule)
235+ # item = create_item(16, cor_thread_rule.rule_id, cor_thread_rule.rule_id, 75, 1)
236+ # db.session.add(item)
237+
238+
239+
240+ coords = ((1.307287 , 43.56357 ), (1.312222 , 43.56357 ), (1.312222 , 43.566182 ), (1.307287 , 43.566182 ), (1.307287 , 43.56357 ))
45241 polygon = Polygon (coords )
46242 date = datetime .datetime (2024 , 10 , 2 , 11 , 22 , 33 )
47- id_sdage = 967
243+ id_sdage = cor_sdage_rule .rule_id
244+ # hab =
245+ # flore =
246+ # vertebrates =
247+ # invertebrates =
248+ # eco =
249+ # protection =
250+ # epuration =
251+ # support =
252+ # pedagogy =
253+ # production =
254+ # status =
255+ # management =
256+ # hydro =
257+ # bio =
258+ # thread =
259+
48260 user = users ["self_user" ]
49261 data = {}
262+ data ["rb1" ] = rb
263+ data ["cor_rule" ] = cor_sdage_rule
50264 with db .session .begin_nested ():
51265 for (
52266 main_name ,
@@ -58,6 +272,7 @@ def zh_data(users):
58272 id_sdage ,
59273 geom ,
60274 zh_area ,
275+ main_id_rb
61276 ) in [
62277 (
63278 "zh1" ,
@@ -69,6 +284,7 @@ def zh_data(users):
69284 id_sdage ,
70285 geoalchemy2 .shape .from_shape (polygon ),
71286 polygon .area ,
287+ 1
72288 ),
73289 ]:
74290 kwargs = {}
@@ -82,6 +298,7 @@ def zh_data(users):
82298 id_sdage ,
83299 geom ,
84300 zh_area ,
301+ main_id_rb ,
85302 ** kwargs ,
86303 )
87304 db .session .add (s )
0 commit comments