88from pcor_ingest .pcor_gen3_ingest import PcorGen3Ingest
99from pcor_ingest .pcor_intermediate_model import AdvSearchFilter , Tag
1010from pcor_ingest .pcor_template_process_result import PcorError
11+ from pcor_ingest .measures_rollup import PcorMeasuresRollup
1112
1213logging .basicConfig (
1314 level = logging .DEBUG ,
@@ -24,6 +25,8 @@ class PcorTemplateProcessor:
2425
2526 def __init__ (self , pcor_ingest_configuration ):
2627 self .pcor_ingest = PcorGen3Ingest (pcor_ingest_configuration )
28+ self .pcor_ingest_configuration = pcor_ingest_configuration
29+ self .pcor_measures_rollup = PcorMeasuresRollup (self .pcor_ingest_configuration .measures_rollup )
2730
2831 def process (self , parsed_data ):
2932
@@ -112,6 +115,13 @@ def process(self, parsed_data):
112115 geo_spatial_resource .resource_submitter_id = resource .submitter_id
113116 geo_spatial_resource .submitter_id = resource .submitter_id
114117
118+ if hasattr (geo_spatial_resource , 'measures' ):
119+ # Add the measures rollup
120+ measures_rollup = self .pcor_measures_rollup .process_measures (geo_spatial_resource .measures )
121+ geo_spatial_resource .measures_parent = measures_rollup .measures_parents
122+ geo_spatial_resource .measures_subcategory_major = measures_rollup .measures_subcategories_major
123+ geo_spatial_resource .measures_subcategory_minor = measures_rollup .measures_subcategories_minor
124+
115125 # parsed template field?
116126 parsed_data .resource_detail_guid = geo_spatial_resource .submitter_id
117127
@@ -140,7 +150,6 @@ def process(self, parsed_data):
140150
141151 # measures parent category
142152 for item in geo_spatial_resource .measures_parent :
143-
144153 search_filter = AdvSearchFilter ()
145154 search_filter .key = "Measures(category)"
146155 search_filter .value = item
@@ -156,20 +165,10 @@ def process(self, parsed_data):
156165 discovery .tags .append (tag )
157166
158167 for item in geo_spatial_resource .measures_subcategory_minor :
159-
160168 search_filter = AdvSearchFilter ()
161169 search_filter .key = "Measures(subcategory 2)"
162170 search_filter .value = item
163171 discovery .adv_search_filters .append (search_filter )
164-
165- # measures parent category
166- for item in geo_spatial_resource .measures_parent :
167- search_filter = AdvSearchFilter ()
168- search_filter .key = "Measures(category)"
169- search_filter .value = item
170- discovery .adv_search_filters .append (search_filter )
171-
172- for item in geo_spatial_resource .measures_subcategory_major :
173172 if PcorGen3Ingest .check_tag_present (item , discovery .tags ):
174173 pass
175174 else :
@@ -178,23 +177,6 @@ def process(self, parsed_data):
178177 tag .category = "Measures(subcategory 2)"
179178 discovery .tags .append (tag )
180179
181- for item in geo_spatial_resource .measures :
182- search_filter = AdvSearchFilter ()
183- search_filter .key = "Measures"
184- search_filter .value = item
185- discovery .adv_search_filters .append (search_filter )
186-
187-
188-
189- # remove lowest level measures
190- #if PcorGen3Ingest.check_tag_present(item, discovery.tags):
191- # pass
192- #else:
193- # tag = Tag()
194- # tag.name = item
195- # tag.category = "Measures"
196- # discovery.tags.append(tag)
197-
198180 logger .info ("created discovery: %s" % discovery )
199181 discovery_result = self .pcor_ingest .decorate_resc_with_discovery (discovery )
200182 logger .info ("discovery_result: %s" % discovery_result )
@@ -206,6 +188,13 @@ def process(self, parsed_data):
206188 pop_data_resource .resource_submitter_id = resource .submitter_id
207189 pop_data_resource .submitter_id = resource .submitter_id
208190
191+ if hasattr (pop_data_resource , 'measures' ):
192+ # Add the measures rollup
193+ measures_rollup = self .pcor_measures_rollup .process_measures (pop_data_resource .measures )
194+ pop_data_resource .measures_parent = measures_rollup .measures_parents
195+ pop_data_resource .measures_subcategory_major = measures_rollup .measures_subcategories_major
196+ pop_data_resource .measures_subcategory_minor = measures_rollup .measures_subcategories_minor
197+
209198 resource_submit_status = self .pcor_ingest .create_pop_data_resource (
210199 program_name = program .name ,
211200 project_code = project .code ,
@@ -343,6 +332,13 @@ def process(self, parsed_data):
343332 key_dataset .resource_submitter_id = resource .submitter_id
344333 key_dataset .submitter_id = resource .submitter_id
345334
335+ if hasattr (key_dataset , 'measures' ):
336+ # Add the measures rollup
337+ measures_rollup = self .pcor_measures_rollup .process_measures (key_dataset .measures )
338+ key_dataset .measures_parent = measures_rollup .measures_parents
339+ key_dataset .measures_subcategory_major = measures_rollup .measures_subcategories_major
340+ key_dataset .measures_subcategory_minor = measures_rollup .measures_subcategories_minor
341+
346342 resource_submit_status = self .pcor_ingest .create_key_dataset (
347343 program_name = program .name ,
348344 project_code = project .code ,
@@ -394,14 +390,7 @@ def process(self, parsed_data):
394390 tag .category = "Measures(subcategory 2)"
395391 discovery .tags .append (tag )
396392
397- for item in key_dataset .measures :
398- search_filter = AdvSearchFilter ()
399- search_filter .key = "Measures"
400- search_filter .value = item
401- discovery .adv_search_filters .append (search_filter )
402-
403393 logger .info ("created discovery: %s" % discovery )
404-
405394 discovery_result = self .pcor_ingest .decorate_resc_with_discovery (discovery )
406395 logger .info ("discovery_result: %s" % discovery_result )
407396
0 commit comments