From 08b4f631165a04fbe743c81214ab3b3c6578a3d7 Mon Sep 17 00:00:00 2001 From: Rick Ross Date: Fri, 19 Jan 2024 13:42:58 -0800 Subject: [PATCH] Handles range rule in postprocess --- lib_afc_mosaic/universe_map_file.py | 30 +++++++++++++---------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/lib_afc_mosaic/universe_map_file.py b/lib_afc_mosaic/universe_map_file.py index d7b0d76..3bbe415 100644 --- a/lib_afc_mosaic/universe_map_file.py +++ b/lib_afc_mosaic/universe_map_file.py @@ -208,11 +208,7 @@ class AFCMUniverseMapFile: self.process_file(ufilename) # Perform post-processing - if len(self.mosaic_postprocess) is not 0: - self.postprocessing() - else: - # copy self.cleaned_import_rows list to self.final_rows list - self.final_rows = self.cleaned_import_rows[:] + self.postprocessing() # Run final steps self.write_final_file() @@ -222,21 +218,21 @@ class AFCMUniverseMapFile: def postprocessing(self): """ postprocessing Performs actions for any postprocessing rules defined in the voterset map file + + structure in the map file: + "postprocess": { + "range": { + "start": 0, + "end": 10000 + } + } """ - # structure in the map file - # "postprocess": { - # "range": { - # "start": 0, - # "end": 10000 - # } - # } + # need to figure out how to handle rules in defined order - - # get list of keys from "postprocess" - # if "range" exists, - # get "start" and "end" keys - # copy the range from cleaned_import_rows into final_rows + # if no range is defined, this copies the entire list from self.cleaned_import_rows + range = self.mosaic_postprocess.get('range', {}) + self.final_rows = self.cleaned_import_rows[range.get('start', None):range.get('end', None)] return