Skip to content

Commit 4335e65

Browse files
committed
fix generation of sample data on event data
1 parent 2774be0 commit 4335e65

File tree

1 file changed

+78
-94
lines changed

1 file changed

+78
-94
lines changed

spp_farmer_registry_laos/models/generate_farmer_data.py

Lines changed: 78 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,13 @@
349349
},
350350
]
351351

352+
EVENT_TYPE = [
353+
"fgmemr1",
354+
"wumem",
355+
"fgmemr2",
356+
"impagri",
357+
"implive",
358+
]
352359

353360
class SPPLaosGenerateFarmerData(models.Model):
354361
_name = "spp.laos.generate.farmer.data"
@@ -383,11 +390,7 @@ def _generate_sample_data(self, **kwargs):
383390
# Generate Farmer Group data
384391
farmer_group_name = f"Farmer Group {random.choice(FARMER_GROUP_NAMES)}"
385392
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)
391394
land_record_id = res._generate_land_record_record(farmer_group_id)
392395
farmer_group_id.farm_land_rec_id = land_record_id.id
393396
farmer_group_id.coordinates = land_record_id.land_coordinates
@@ -398,11 +401,7 @@ def _generate_sample_data(self, **kwargs):
398401
# Generate Farm data
399402
group_name = f"{random.choice(NAMES)} Farm"
400403
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)
406405
land_record_id = res._generate_land_record_record(group_id)
407406
group_id.farm_land_rec_id = land_record_id.id
408407
group_id.coordinates = land_record_id.land_coordinates
@@ -481,94 +480,79 @@ def _create_event_data(self, model_name, group_id):
481480
event_id = self.env["spp.event.data"].create(vals_list)
482481
return event_id
483482

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)
500485
vals = self._generate_event_data_vals()
501486

502-
event = self.env["spp.event.cycle3b"].create(vals)
487+
event = self.env["spp.event.cycle"].create(vals)
503488
event_id.res_id = event.id
504489

505490
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),
545555
}
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)
565556

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

Comments
 (0)