add campaign key to voter object
This commit is contained in:
parent
426390d242
commit
dc4056c1ed
|
|
@ -33,7 +33,6 @@ class AFCMUniverseMapFile:
|
|||
self.mosaic_head = {}
|
||||
self.metadata = {}
|
||||
self.mosaic_file_list = {}
|
||||
self.voterset_key = None
|
||||
|
||||
self.files = []
|
||||
|
||||
|
|
@ -109,7 +108,7 @@ class AFCMUniverseMapFile:
|
|||
return data
|
||||
|
||||
|
||||
def read_mosaic_map_dict( self, voterset_key : str, map_dict : dict ):
|
||||
def read_mosaic_map_dict( self, map_dict : dict ):
|
||||
"""
|
||||
read_mosaic_map_dict
|
||||
"""
|
||||
|
|
@ -120,7 +119,6 @@ class AFCMUniverseMapFile:
|
|||
self.mosaic_head = map_dict.get('mosaic', {})
|
||||
self.metadata = map_dict.get('metadata', {})
|
||||
self.mosaic_file_list = map_dict.get('files', {})
|
||||
self.voterset_key = voterset_key
|
||||
|
||||
return None
|
||||
|
||||
|
|
@ -198,15 +196,6 @@ class AFCMUniverseMapFile:
|
|||
except Exception as ex:
|
||||
raise Exception(f"universe_map_file.generate_mapped_file: Failed to get {self.optout_s3_bucket}/{errors_filename_s3_key}: {ex}") from ex
|
||||
|
||||
if "optout_s3_key" in self.metadata and self.metadata["optout_s3_key"] != None:
|
||||
try:
|
||||
file_data_stream = self.optout_s3_connection.get_object(self.optout_s3_bucket,
|
||||
self.metadata["optout_s3_key"])
|
||||
optout_numbers = json.load(codecs.getreader("utf-8")(file_data_stream))
|
||||
self.error_numbers.update(optout_numbers)
|
||||
except Exception as ex:
|
||||
raise Exception(f"universe_map_file.generate_mapped_file: Failed to get {self.optout_s3_bucket}/{self.metadata['optout_s3_key']}: {ex}") from ex
|
||||
|
||||
# Loop the files from the map
|
||||
for ufilename in self.mosaic_file_list:
|
||||
self.process_file(ufilename)
|
||||
|
|
@ -439,7 +428,7 @@ class AFCMUniverseMapFile:
|
|||
write_final_file Writes the final CSV to S3
|
||||
"""
|
||||
|
||||
# Set the length of the final file
|
||||
# Set the count of final voters
|
||||
self.metadata["total_rows"] = len(self.final_rows)
|
||||
|
||||
# Need to write the FINAL file
|
||||
|
|
@ -463,6 +452,10 @@ class AFCMUniverseMapFile:
|
|||
write_stats_file Writes the stats JSON to S3
|
||||
"""
|
||||
|
||||
# Set the count of stat data
|
||||
self.metadata["cleaned_count"] = self.stats['cleaned_count']["total"]
|
||||
self.metadata["total_removed"] = self.stats['removed_count']["total"]
|
||||
|
||||
# Write the STATS file
|
||||
stats_filename = "mosaic_stats.json"
|
||||
s3_key = os.path.join(self.metadata.get("s3_key", ""), stats_filename)
|
||||
|
|
@ -485,10 +478,13 @@ class AFCMUniverseMapFile:
|
|||
}
|
||||
|
||||
|
||||
def get_voter_object(self) -> dict:
|
||||
def get_voter_object(self, voterset_key : str, campaign_key : str) -> dict:
|
||||
"""
|
||||
get_voter_object Get the voter to the API object
|
||||
|
||||
:param voterset_key: Voterset key of the voter
|
||||
:param campaign_key: Campaign key of the voter
|
||||
|
||||
:return Dictionary object of the AF-VOTER
|
||||
"""
|
||||
|
||||
|
|
@ -506,7 +502,8 @@ class AFCMUniverseMapFile:
|
|||
"voter_id": voter_row['UID'],
|
||||
"first_name": voter_row['FName'],
|
||||
"last_name": voter_row['LName'],
|
||||
"voterset_keys": [self.voterset_key],
|
||||
"voterset_keys": [voterset_key],
|
||||
"campaign_key": campaign_key,
|
||||
"data_fields": data_fields_dict,
|
||||
"cell_phone": voter_row['Cell_Phone']
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue