Coverage for apps/report/bulk_import/presence_and_participation.py : 100%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from report.models import PresenceAndParticipation
2from report.utils import convert_to_int
4from .common import get_or_create_project
7def extract(xml_data, generated_on):
8 """
9 ('@ProjectCode', '174174'),
10 ('@ProjectName', 'Butwal CESP'),
11 ('@SupportOfficeCode', 'AUSO'),
12 ('@ActualRC', '1'),
13 ('@RCPresent', '1'),
14 ('@Total_RC___Temporarily_Away', '0'),
15 ('@RCNotSightedOver90D', '0'),
16 ('@WithNoPSForTheLast6Mos', '0'),
17 ('@DropsWithinPeriod', '0'),
18 ('@DropsLast12Mos', '0'),
19 ('@DropsDueToDuplicate', '0')]),
20 """
21 collection = (
22 xml_data['Report']['list1']['list1_Details_Group_Collection']['list1_Details_Group']
23 ['table1']['Detail_Collection']['Detail']
24 )
25 for pj in collection:
26 pj_number = convert_to_int(pj['@ProjectCode'])
27 pj_name = pj['@ProjectName']
28 total_rc_temporarily_away = pj['@Total_RC___Temporarily_Away']
29 total_no_of_rc_records_dropped_during_the_month = pj['@DropsLast12Mos']
31 project = get_or_create_project(pj_number, name=pj_name)
32 pap, _ = PresenceAndParticipation.objects.get_or_create(
33 project=project,
34 date=generated_on,
35 )
36 pap.total_rc_temporarily_away = total_rc_temporarily_away
37 pap.total_no_of_rc_records_dropped_during_the_month =\
38 total_no_of_rc_records_dropped_during_the_month
39 pap.save()