349
349
},
350
350
]
351
351
352
+ EVENT_TYPE = [
353
+ "fgmemr1" ,
354
+ "wumem" ,
355
+ "fgmemr2" ,
356
+ "impagri" ,
357
+ "implive" ,
358
+ ]
352
359
353
360
class SPPLaosGenerateFarmerData (models .Model ):
354
361
_name = "spp.laos.generate.farmer.data"
@@ -383,11 +390,7 @@ def _generate_sample_data(self, **kwargs):
383
390
# Generate Farmer Group data
384
391
farmer_group_name = f"Farmer Group { random .choice (FARMER_GROUP_NAMES )} "
385
392
farmer_group_id = res ._generate_group_data (i , kind_farmer_group_id , farmer_group_name )
386
- self ._generate_event_data_cycle2a (farmer_group_id )
387
- self ._generate_event_data_cycle2b (farmer_group_id )
388
- self ._generate_event_data_cycle2c (farmer_group_id )
389
- self ._generate_event_data_cycle3a (farmer_group_id )
390
- self ._generate_event_data_cycle3b (farmer_group_id )
393
+ self ._generate_event_data_cycle (farmer_group_id )
391
394
land_record_id = res ._generate_land_record_record (farmer_group_id )
392
395
farmer_group_id .farm_land_rec_id = land_record_id .id
393
396
farmer_group_id .coordinates = land_record_id .land_coordinates
@@ -398,11 +401,7 @@ def _generate_sample_data(self, **kwargs):
398
401
# Generate Farm data
399
402
group_name = f"{ random .choice (NAMES )} Farm"
400
403
group_id = res ._generate_group_data (j , kind_farm_id , group_name )
401
- self ._generate_event_data_cycle2a (group_id )
402
- self ._generate_event_data_cycle2b (group_id )
403
- self ._generate_event_data_cycle2c (group_id )
404
- self ._generate_event_data_cycle3a (group_id )
405
- self ._generate_event_data_cycle3b (group_id )
404
+ self ._generate_event_data_cycle (group_id )
406
405
land_record_id = res ._generate_land_record_record (group_id )
407
406
group_id .farm_land_rec_id = land_record_id .id
408
407
group_id .coordinates = land_record_id .land_coordinates
@@ -481,94 +480,79 @@ def _create_event_data(self, model_name, group_id):
481
480
event_id = self .env ["spp.event.data" ].create (vals_list )
482
481
return event_id
483
482
484
- def _generate_event_data_cycle2a (self , group_id ):
485
- event_id = self ._create_event_data ("spp.event.cycle2a" , group_id )
486
- vals = self ._generate_event_data_vals ()
487
-
488
- event = self .env ["spp.event.cycle2a" ].create (vals )
489
- event_id .res_id = event .id
490
-
491
- def _generate_event_data_cycle3a (self , group_id ):
492
- event_id = self ._create_event_data ("spp.event.cycle3a" , group_id )
493
- vals = self ._generate_event_data_vals ()
494
-
495
- event = self .env ["spp.event.cycle3a" ].create (vals )
496
- event_id .res_id = event .id
497
-
498
- def _generate_event_data_cycle3b (self , group_id ):
499
- event_id = self ._create_event_data ("spp.event.cycle3b" , group_id )
483
+ def _generate_event_data_cycle (self , group_id ):
484
+ event_id = self ._create_event_data ("spp.event.cycle" , group_id )
500
485
vals = self ._generate_event_data_vals ()
501
486
502
- event = self .env ["spp.event.cycle3b " ].create (vals )
487
+ event = self .env ["spp.event.cycle " ].create (vals )
503
488
event_id .res_id = event .id
504
489
505
490
def _generate_event_data_vals (self ):
506
- no_hh_member = random .randint (1 , 100 )
507
- no_indigenous = random .randint (1 , no_hh_member )
508
- percent_indigenous = no_indigenous / no_hh_member * 100
509
- no_15_35 = random .randint (1 , no_indigenous )
510
- percent_15_35 = no_15_35 / no_hh_member * 100
511
- cycle_vals = {
512
- "no_woman_headed" : 0 ,
513
- "no_better_off" : 0 ,
514
- "no_medium" : 0 ,
515
- "no_poor" : 0 ,
516
- }
517
- total_member = no_hh_member
518
- for val in cycle_vals :
519
- if total_member > 0 :
520
- value = random .randint (0 , total_member )
521
- cycle_vals [val ] = value
522
- total_member -= value
523
-
524
- cycle_vals2 = {
525
- "no_male" : 0 ,
526
- "no_female" : 0 ,
527
- "no_both" : 0 ,
528
- }
529
- total_member = no_hh_member
530
- for val in cycle_vals2 :
531
- if total_member > 0 :
532
- value = random .randint (0 , total_member )
533
- cycle_vals2 [val ] = value
534
- total_member -= value
535
-
536
- cycle_vals .update (cycle_vals2 )
537
-
538
- cycle_vals .update (
539
- {
540
- "no_hh_member" : no_hh_member ,
541
- "no_indigenous" : no_indigenous ,
542
- "percent_indigenous" : percent_indigenous ,
543
- "no_15_35" : no_15_35 ,
544
- "percent_15_35" : percent_15_35 ,
491
+ event_type = random .choice (EVENT_TYPE )
492
+ cycle_vals = {}
493
+ if event_type in ("fgmemr1" , "wumem" , "fgmemr2" ):
494
+ no_hh_member = random .randint (1 , 100 )
495
+ no_indigenous = random .randint (1 , no_hh_member )
496
+ percent_indigenous = no_indigenous / no_hh_member * 100
497
+ no_15_35 = random .randint (1 , no_indigenous )
498
+ percent_15_35 = no_15_35 / no_hh_member * 100
499
+ cycle_vals = {
500
+ "no_woman_headed" : 0 ,
501
+ "no_better_off" : 0 ,
502
+ "no_medium" : 0 ,
503
+ "no_poor" : 0 ,
504
+ }
505
+ total_member = no_hh_member
506
+ for val in cycle_vals :
507
+ if total_member > 0 :
508
+ value = random .randint (0 , total_member )
509
+ cycle_vals [val ] = value
510
+ total_member -= value
511
+
512
+ cycle_vals2 = {
513
+ "no_male" : 0 ,
514
+ "no_female" : 0 ,
515
+ "no_both" : 0 ,
516
+ }
517
+ total_member = no_hh_member
518
+ for val in cycle_vals2 :
519
+ if total_member > 0 :
520
+ value = random .randint (0 , total_member )
521
+ cycle_vals2 [val ] = value
522
+ total_member -= value
523
+
524
+ cycle_vals .update (cycle_vals2 )
525
+
526
+ cycle_vals .update (
527
+ {
528
+ "event_type" : event_type ,
529
+ "no_hh_member" : no_hh_member ,
530
+ "no_indigenous" : no_indigenous ,
531
+ "percent_indigenous" : percent_indigenous ,
532
+ "no_15_35" : no_15_35 ,
533
+ "percent_15_35" : percent_15_35 ,
534
+ }
535
+ )
536
+
537
+ elif event_type == "impagri" :
538
+ cycle_vals = {
539
+ "event_type" : event_type ,
540
+ "no_implemented" : random .randint (0 , 100 ),
541
+ "no_on_going" : random .randint (0 , 100 ),
542
+ "no_not_implemented" : random .randint (0 , 100 ),
543
+ "production_area" : random .randint (0 , 100 ),
544
+ "agricultural_yield" : random .randint (0 , 100 ),
545
+ "agricultural_productivity" : random .randint (0 , 100 ),
546
+ }
547
+ else :
548
+ cycle_vals = {
549
+ "event_type" : event_type ,
550
+ "no_livestock_project" : random .randint (0 , 100 ),
551
+ "no_livestock_present" : random .randint (0 , 100 ),
552
+ "no_livestock_consumption" : random .randint (0 , 100 ),
553
+ "no_livestock_sold" : random .randint (0 , 100 ),
554
+ "no_livestock_increase" : random .randint (0 , 100 ),
545
555
}
546
- )
547
- return cycle_vals
548
-
549
- def _generate_event_data_cycle2b (self , group_id ):
550
- event_id = self ._create_event_data ("spp.event.cycle2b" , group_id )
551
-
552
- cycle2b_vals = {
553
- "no_implemented" : random .randint (0 , 100 ),
554
- "no_on_going" : random .randint (0 , 100 ),
555
- "no_not_implemented" : random .randint (0 , 100 ),
556
- "production_area" : random .randint (0 , 100 ),
557
- "agricultural_yield" : random .randint (0 , 100 ),
558
- "agricultural_productivity" : random .randint (0 , 100 ),
559
- }
560
- event = self .env ["spp.event.cycle2b" ].create (cycle2b_vals )
561
- event_id .res_id = event .id
562
-
563
- def _generate_event_data_cycle2c (self , group_id ):
564
- event_id = self ._create_event_data ("spp.event.cycle2c" , group_id )
565
556
566
- cycle2c_vals = {
567
- "no_livestock_project" : random .randint (0 , 100 ),
568
- "no_livestock_present" : random .randint (0 , 100 ),
569
- "no_livestock_consumption" : random .randint (0 , 100 ),
570
- "no_livestock_sold" : random .randint (0 , 100 ),
571
- "no_livestock_increase" : random .randint (0 , 100 ),
572
- }
573
- event = self .env ["spp.event.cycle2c" ].create (cycle2c_vals )
574
- event_id .res_id = event .id
557
+ if cycle_vals :
558
+ return cycle_vals
0 commit comments