def refresh_master_no_indicator(request, document_id): mr = MasterRefresh(document_id=document_id, indicator_id=None, user_id=request.user.id) mr.source_dps_to_dps() return HttpResponseRedirect(reverse("source_data:field_mapping", kwargs={"document_id": document_id}))
def odk_form_data_to_datapoints(self): ''' First transalate the csv into source datapoitns ( very similair to the csv upload process), and once the sdps are created, call "refresh_master" and pass the list of sdps. ''' self.to_process_df.columns = map(str.lower, self.to_process_df) column_list = self.to_process_df.columns.tolist() #### DataFrame --> Source DP #### all_sdps = [] for row_number, row in enumerate(self.to_process_df.values): row_dict = dict(zip(column_list,row)) sdps = self.process_row(row_dict,row_number) all_sdps.extend(sdps) #### Source DP --> Master DP #### mr = MasterRefresh(self.user_id,self.document_id) dps = mr.source_dps_to_dps() response_string = 'created %s new soure_datapoints by processing: %s \ nows for document_id: %s, yielding in: %s master datapoints' % \ (len(all_sdps),len(self.to_process_df),self.document_id,len(dps)) return response_string
def test_mapping(self): ''' Here we ensure that after mapping all of the meta data that we have the expected number of rows with the appropiate data associated. ''' self.set_up() mr = MasterRefresh(self.source_datapoints,self.user.id\ ,self.document.id,self.indicator.id) ## create the source metadata ## create_source_meta_data(self.document.id) ## create mappings ( this is mimicking how bo would map metadata ) ## rm_1 = RegionMap.objects.create( mapped_by_id = self.user.id, source_id = SourceRegion.objects.get(region_code=self\ .region_1_code).id, master_id = self.region_1.id) cm_1 = CampaignMap.objects.create( mapped_by_id = self.user.id, source_id = SourceCampaign.objects.get(campaign_string=\ self.campaign_string).id, master_id = self.campaign.id) im_1 = IndicatorMap.objects.create( mapped_by_id = self.user.id, source_id = SourceIndicator.objects.get(indicator_string=\ self.indicator_string).id, master_id = self.indicator.id) mr.source_dps_to_dps() x = DataPoint.objects.filter( region_id = self.region_1.id, campaign_id = self.campaign.id, indicator_id = self.indicator.id, ) self.assertEqual(len(x),1)