本文整理汇总了Python中wevote_functions.functions.is_voter_device_id_valid函数的典型用法代码示例。如果您正苦于以下问题:Python is_voter_device_id_valid函数的具体用法?Python is_voter_device_id_valid怎么用?Python is_voter_device_id_valid使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了is_voter_device_id_valid函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: voter_position_like_off_save_for_api
def voter_position_like_off_save_for_api(voter_device_id, position_like_id, position_entered_id):
# Get voter_id from the voter_device_id so we can know who is doing the liking
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
json_data = {
'status': 'VALID_VOTER_DEVICE_ID_MISSING',
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VALID_VOTER_ID_MISSING",
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
position_like_manager = PositionLikeManager()
if positive_value_exists(position_like_id) or \
(positive_value_exists(voter_id) and positive_value_exists(position_entered_id)):
results = position_like_manager.toggle_off_voter_position_like(
position_like_id, voter_id, position_entered_id)
status = results['status']
success = results['success']
else:
status = 'UNABLE_TO_DELETE_POSITION_LIKE-INSUFFICIENT_VARIABLES'
success = False
json_data = {
'status': status,
'success': success,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例2: voter_guide_possibility_retrieve_for_api
def voter_guide_possibility_retrieve_for_api(voter_device_id, voter_guide_possibility_url):
results = is_voter_device_id_valid(voter_device_id)
voter_guide_possibility_url = voter_guide_possibility_url # TODO Use scrapy here
if not results['success']:
return HttpResponse(json.dumps(results['json_data']), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VOTER_NOT_FOUND_FROM_VOTER_DEVICE_ID",
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
# TODO We will need the voter_id here so we can control volunteer actions
voter_guide_possibility_manager = VoterGuidePossibilityManager()
results = voter_guide_possibility_manager.retrieve_voter_guide_possibility_from_url(voter_guide_possibility_url)
json_data = {
'voter_device_id': voter_device_id,
'voter_guide_possibility_url': results['voter_guide_possibility_url'],
'voter_guide_possibility_id': results['voter_guide_possibility_id'],
'organization_we_vote_id': results['organization_we_vote_id'],
'public_figure_we_vote_id': results['public_figure_we_vote_id'],
'owner_we_vote_id': results['owner_we_vote_id'],
'status': results['status'],
'success': results['success'],
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例3: voter_photo_save_for_api
def voter_photo_save_for_api(voter_device_id, facebook_profile_image_url_https, facebook_photo_variable_exists):
facebook_profile_image_url_https = facebook_profile_image_url_https.strip()
device_id_results = is_voter_device_id_valid(voter_device_id)
if not device_id_results['success']:
results = {
'status': device_id_results['status'],
'success': False,
'voter_device_id': voter_device_id,
'facebook_profile_image_url_https': facebook_profile_image_url_https,
}
return results
if not facebook_photo_variable_exists:
results = {
'status': "MISSING_VARIABLE-AT_LEAST_ONE_PHOTO",
'success': False,
'voter_device_id': voter_device_id,
'facebook_profile_image_url_https': facebook_profile_image_url_https,
}
return results
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if voter_id < 0:
results = {
'status': "VOTER_NOT_FOUND_FROM_DEVICE_ID",
'success': False,
'voter_device_id': voter_device_id,
'facebook_profile_image_url_https': facebook_profile_image_url_https,
}
return results
# At this point, we have a valid voter
voter_manager = VoterManager()
results = voter_manager.update_voter_photos(voter_id,
facebook_profile_image_url_https, facebook_photo_variable_exists)
if results['success']:
if positive_value_exists(facebook_profile_image_url_https):
status = "VOTER_FACEBOOK_PHOTO_SAVED"
else:
status = "VOTER_PHOTOS_EMPTY_SAVED"
results = {
'status': status,
'success': True,
'voter_device_id': voter_device_id,
'facebook_profile_image_url_https': facebook_profile_image_url_https,
}
else:
results = {
'status': results['status'],
'success': False,
'voter_device_id': voter_device_id,
'facebook_profile_image_url_https': facebook_profile_image_url_https,
}
return results
示例4: voter_address_save_for_api
def voter_address_save_for_api(voter_device_id, address_raw_text, address_variable_exists):
device_id_results = is_voter_device_id_valid(voter_device_id)
if not device_id_results['success']:
results = {
'status': device_id_results['status'],
'success': False,
'voter_device_id': voter_device_id,
}
return results
if not address_variable_exists:
results = {
'status': "MISSING_POST_VARIABLE-ADDRESS",
'success': False,
'voter_device_id': voter_device_id,
}
return results
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
results = {
'status': "VOTER_NOT_FOUND_FROM_DEVICE_ID",
'success': False,
'voter_device_id': voter_device_id,
}
return results
# At this point, we have a valid voter
voter_address_manager = VoterAddressManager()
address_type = BALLOT_ADDRESS
# We wrap get_or_create because we want to centralize error handling
results = voter_address_manager.update_or_create_voter_address(voter_id, address_type, address_raw_text.strip())
if results['success']:
if positive_value_exists(address_raw_text):
status = "VOTER_ADDRESS_SAVED"
else:
status = "VOTER_ADDRESS_EMPTY_SAVED"
results = {
'status': status,
'success': True,
'voter_device_id': voter_device_id,
'text_for_map_search': address_raw_text,
}
# elif results['status'] == 'MULTIPLE_MATCHING_ADDRESSES_FOUND':
# delete all currently matching addresses and save again
else:
results = {
'status': results['status'],
'success': False,
'voter_device_id': voter_device_id,
}
return results
示例5: voter_create
def voter_create(voter_device_id):
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
return HttpResponse(json.dumps(results['json_data']), content_type='application/json')
voter_id = 0
# Make sure a voter record hasn't already been created for this
existing_voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if existing_voter_id:
json_data = {
'status': "VOTER_ALREADY_EXISTS",
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
# Create a new voter and return the id
voter_manager = VoterManager()
results = voter_manager.create_voter()
if results['voter_created']:
voter = results['voter']
# Now save the voter_device_link
voter_device_link_manager = VoterDeviceLinkManager()
results = voter_device_link_manager.save_new_voter_device_link(voter_device_id, voter.id)
if results['voter_device_link_created']:
voter_device_link = results['voter_device_link']
voter_id_found = True if voter_device_link.voter_id > 0 else False
if voter_id_found:
voter_id = voter_device_link.voter_id
if voter_id:
json_data = {
'status': "VOTER_CREATED",
'success': False,
'voter_device_id': voter_device_id,
'voter_id': voter_id, # We may want to remove this after initial testing
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
else:
json_data = {
'status': "VOTER_NOT_CREATED",
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例6: voter_position_like_status_retrieve_for_api
def voter_position_like_status_retrieve_for_api(voter_device_id, position_entered_id):
# Get voter_id from the voter_device_id so we can know who is doing the liking
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
json_data = {
'status': 'VALID_VOTER_DEVICE_ID_MISSING',
'success': False,
'voter_device_id': voter_device_id,
'is_liked': False,
'position_entered_id': position_entered_id,
'position_like_id': 0,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VALID_VOTER_ID_MISSING",
'success': False,
'voter_device_id': voter_device_id,
'is_liked': False,
'position_entered_id': position_entered_id,
'position_like_id': 0,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
position_like_manager = PositionLikeManager()
if positive_value_exists(position_entered_id):
position_like_id = 0
results = position_like_manager.retrieve_position_like(position_like_id, voter_id, position_entered_id)
status = results['status']
success = results['success']
is_liked = results['is_liked']
position_like_id = results['position_like_id']
else:
status = 'UNABLE_TO_RETRIEVE-POSITION_ENTERED_ID_MISSING'
success = False
is_liked = False
position_like_id = 0
json_data = {
'status': status,
'success': success,
'voter_device_id': voter_device_id,
'is_liked': is_liked,
'position_entered_id': position_entered_id,
'position_like_id': position_like_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例7: voter_guide_possibility_save_for_api
def voter_guide_possibility_save_for_api(voter_device_id, voter_guide_possibility_url):
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
return HttpResponse(json.dumps(results['json_data']), content_type='application/json')
if not voter_guide_possibility_url:
json_data = {
'status': "MISSING_POST_VARIABLE-URL",
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VOTER_NOT_FOUND_FROM_DEVICE_ID",
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
# At this point, we have a valid voter
voter_guide_possibility_manager = VoterGuidePossibilityManager()
# We wrap get_or_create because we want to centralize error handling
results = voter_guide_possibility_manager.update_or_create_voter_guide_possibility(
voter_guide_possibility_url.strip())
if results['success']:
json_data = {
'status': "VOTER_GUIDE_POSSIBILITY_SAVED",
'success': True,
'voter_device_id': voter_device_id,
'voter_guide_possibility_url': voter_guide_possibility_url,
}
# elif results['status'] == 'MULTIPLE_MATCHING_ADDRESSES_FOUND':
# delete all currently matching addresses and save again?
else:
json_data = {
'status': results['status'],
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例8: facebook_disconnect_for_api
def facebook_disconnect_for_api(voter_device_id): # facebookDisconnect
"""
:param voter_device_id:
:return:
"""
# Get voter_id from the voter_device_id
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
results = {
'success': False,
'status': "VALID_VOTER_DEVICE_ID_MISSING",
'voter_device_id': voter_device_id,
}
return results
voter_manager = VoterManager()
results = voter_manager.retrieve_voter_from_voter_device_id(voter_device_id)
if not positive_value_exists(results['voter_found']):
results = {
'success': False,
'status': "VALID_VOTER_MISSING",
'voter_device_id': voter_device_id,
}
return results
voter = results['voter']
facebook_id = 0
results = voter_manager.save_facebook_user_values(voter, facebook_id)
status = results['status']
success = results['success']
if success:
results = {
'success': True,
'status': status,
'voter_device_id': voter_device_id,
}
else:
results = {
'success': False,
'status': status,
'voter_device_id': voter_device_id,
}
return results
示例9: voter_address_retrieve_for_api
def voter_address_retrieve_for_api(voter_device_id):
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
return HttpResponse(json.dumps(results['json_data']), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VOTER_NOT_FOUND_FROM_VOTER_DEVICE_ID",
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
# ##################
# Temp code to test authentication
# user = PasswordlessAuthBackend.authenticate(username=user.username)
# login(request, user)
# ##################
voter_address_manager = VoterAddressManager()
results = voter_address_manager.retrieve_ballot_address_from_voter_id(voter_id)
if results['voter_address_found']:
voter_address = results['voter_address']
json_data = {
'voter_device_id': voter_device_id,
'address_type': voter_address.address_type if voter_address.address_type else '',
'text_for_map_search': voter_address.text_for_map_search if voter_address.text_for_map_search else '',
'latitude': voter_address.latitude if voter_address.latitude else '',
'longitude': voter_address.longitude if voter_address.longitude else '',
'normalized_line1': voter_address.normalized_line1 if voter_address.normalized_line1 else '',
'normalized_line2': voter_address.normalized_line2 if voter_address.normalized_line2 else '',
'normalized_city': voter_address.normalized_city if voter_address.normalized_city else '',
'normalized_state': voter_address.normalized_state if voter_address.normalized_state else '',
'normalized_zip': voter_address.normalized_zip if voter_address.normalized_zip else '',
'success': True,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
else:
json_data = {
'status': "VOTER_ADDRESS_NOT_RETRIEVED",
'success': False,
'voter_device_id': voter_device_id,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例10: positions_count_for_api
def positions_count_for_api(voter_device_id,
candidate_id, candidate_we_vote_id,
measure_id, measure_we_vote_id,
stance_we_are_looking_for):
# Get voter_id from the voter_device_id so we can know who is supporting/opposing
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
json_data = {
'status': 'VALID_VOTER_DEVICE_ID_MISSING',
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VALID_VOTER_ID_MISSING ",
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
show_positions_this_voter_follows = True
if positive_value_exists(candidate_id) or positive_value_exists(candidate_we_vote_id):
results = positions_count_for_candidate_campaign(voter_id,
candidate_id, candidate_we_vote_id,
stance_we_are_looking_for,
show_positions_this_voter_follows)
json_data = results['json_data']
return HttpResponse(json.dumps(json_data), content_type='application/json')
elif positive_value_exists(measure_id) or positive_value_exists(measure_we_vote_id):
results = positions_count_for_contest_measure(voter_id,
measure_id, measure_we_vote_id,
stance_we_are_looking_for,
show_positions_this_voter_follows)
json_data = results['json_data']
return HttpResponse(json.dumps(json_data), content_type='application/json')
else:
status = 'UNABLE_TO_RETRIEVE-CANDIDATE_ID_AND_MEASURE_ID_MISSING'
success = False
json_data = {
'status': status,
'success': success,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例11: voter_retrieve_list_for_api
def voter_retrieve_list_for_api(voter_device_id):
results = is_voter_device_id_valid(voter_device_id)
if not results["success"]:
results2 = {"success": False, "json_data": results["json_data"]}
return results2
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if voter_id > 0:
voter_manager = VoterManager()
results = voter_manager.retrieve_voter_by_id(voter_id)
if results["voter_found"]:
voter_id = results["voter_id"]
else:
# If we are here, the voter_id could not be found from the voter_device_id
json_data = {"status": "VOTER_NOT_FOUND_FROM_DEVICE_ID", "success": False, "voter_device_id": voter_device_id}
results = {"success": False, "json_data": json_data}
return results
if voter_id:
voter_list = Voter.objects.all()
voter_list = voter_list.filter(id=voter_id)
if len(voter_list):
results = {"success": True, "voter_list": voter_list}
return results
# Trying to mimic the Google Civic error codes scheme
errors_list = [
{
"domain": "TODO global",
"reason": "TODO reason",
"message": "TODO Error message here",
"locationType": "TODO Error message here",
"location": "TODO location",
}
]
error_package = {"errors": errors_list, "code": 400, "message": "Error message here"}
json_data = {
"error": error_package,
"status": "VOTER_ID_COULD_NOT_BE_RETRIEVED",
"success": False,
"voter_device_id": voter_device_id,
}
results = {"success": False, "json_data": json_data}
return results
示例12: voter_all_stars_status_retrieve_for_api
def voter_all_stars_status_retrieve_for_api(voter_device_id):
# Get voter_id from the voter_device_id so we can know whose stars to retrieve
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
json_data = {
'status': "VALID_VOTER_DEVICE_ID_MISSING",
'success': False,
'star_list': [],
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VALID_VOTER_ID_MISSING",
'success': False,
'star_list': [],
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
star_item_list = StarItemList()
results = star_item_list.retrieve_star_item_list_for_voter(voter_id)
status = results['status']
success = results['success']
star_list = []
if success:
star_item_list = results['star_item_list']
for star_item in star_item_list:
# Create a list of star information needed by API
one_star = {
'ballot_item_we_vote_id': star_item.ballot_item_we_vote_id(),
'star_on': star_item.is_starred(),
}
star_list.append(one_star)
json_data = {
'status': status,
'success': success,
'star_list': star_list,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例13: voter_star_on_save_for_api
def voter_star_on_save_for_api(voter_device_id, office_id, candidate_id, measure_id):
# Get voter_id from the voter_device_id so we can know who is doing the starring
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
json_data = {
'status': 'VALID_VOTER_DEVICE_ID_MISSING',
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VALID_VOTER_ID_MISSING",
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
star_item_manager = StarItemManager()
if positive_value_exists(office_id):
results = star_item_manager.toggle_on_voter_starred_office(voter_id, office_id)
status = "STAR_ON_OFFICE " + results['status']
success = results['success']
elif positive_value_exists(candidate_id):
results = star_item_manager.toggle_on_voter_starred_candidate(voter_id, candidate_id)
status = "STAR_ON_CANDIDATE " + results['status']
success = results['success']
elif positive_value_exists(measure_id):
results = star_item_manager.toggle_on_voter_starred_measure(voter_id, measure_id)
status = "STAR_ON_MEASURE " + results['status']
success = results['success']
else:
status = 'UNABLE_TO_SAVE_ON-OFFICE_ID_AND_CANDIDATE_ID_AND_MEASURE_ID_MISSING'
success = False
json_data = {
'status': status,
'success': success,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例14: voter_opposing_save
def voter_opposing_save(voter_device_id, candidate_id, measure_id):
# Get voter_id from the voter_device_id so we can know who is supporting/opposing
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
json_data = {
'status': 'VALID_VOTER_DEVICE_ID_MISSING',
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
json_data = {
'status': "VALID_VOTER_ID_MISSING",
'success': False,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
position_entered_manager = PositionEnteredManager()
if positive_value_exists(candidate_id):
results = position_entered_manager.toggle_on_voter_oppose_for_candidate_campaign(voter_id, candidate_id)
# toggle_off_voter_support_for_candidate_campaign
status = "OPPOSING_CANDIDATE " + results['status']
success = results['success']
elif positive_value_exists(measure_id):
results = position_entered_manager.toggle_on_voter_oppose_for_contest_measure(voter_id, measure_id)
status = "OPPOSING_MEASURE " + results['status']
success = results['success']
else:
status = 'UNABLE_TO_SAVE-CANDIDATE_ID_AND_MEASURE_ID_MISSING'
success = False
json_data = {
'status': status,
'success': success,
}
return HttpResponse(json.dumps(json_data), content_type='application/json')
示例15: voter_ballot_items_retrieve_from_google_civic_for_api
def voter_ballot_items_retrieve_from_google_civic_for_api(
voter_device_id, text_for_map_search='', use_test_election=False):
"""
We are telling the server to explicitly reach out to the Google Civic API and retrieve the ballot items
for this voter.
"""
# Confirm that we have a Google Civic API Key (GOOGLE_CIVIC_API_KEY)
if not positive_value_exists(GOOGLE_CIVIC_API_KEY):
results = {
'status': 'NO_GOOGLE_CIVIC_API_KEY',
'success': False,
'voter_device_id': voter_device_id,
'google_civic_election_id': 0,
'text_for_map_search': text_for_map_search,
}
return results
# Confirm that we have the URL where we retrieve voter ballots (VOTER_INFO_URL)
if not positive_value_exists(VOTER_INFO_URL):
results = {
'status': 'MISSING VOTER_INFO_URL in config/environment_variables.json',
'success': False,
'voter_device_id': voter_device_id,
'google_civic_election_id': 0,
'text_for_map_search': text_for_map_search,
}
return results
# Get voter_id from the voter_device_id so we can figure out which ballot_items to offer
results = is_voter_device_id_valid(voter_device_id)
if not results['success']:
results = {
'status': 'VALID_VOTER_DEVICE_ID_MISSING',
'success': False,
'voter_device_id': voter_device_id,
'google_civic_election_id': 0,
'text_for_map_search': text_for_map_search,
}
return results
voter_id = fetch_voter_id_from_voter_device_link(voter_device_id)
if not positive_value_exists(voter_id):
results = {
'status': "VALID_VOTER_ID_MISSING",
'success': False,
'voter_device_id': voter_device_id,
'google_civic_election_id': 0,
'text_for_map_search': text_for_map_search,
}
return results
google_civic_election_id = 0
status = ''
success = False
election_date_text = ''
election_description_text = ''
election_data_retrieved = False
polling_location_retrieved = False
contests_retrieved = False
if not positive_value_exists(text_for_map_search):
# Retrieve it from voter address
voter_address_manager = VoterAddressManager()
text_for_map_search = voter_address_manager.retrieve_ballot_map_text_from_voter_id(voter_id)
if positive_value_exists(text_for_map_search):
one_ballot_results = retrieve_one_ballot_from_google_civic_api(
text_for_map_search, google_civic_election_id, use_test_election)
if one_ballot_results['success']:
one_ballot_json = one_ballot_results['structured_json']
election_date_text = one_ballot_json['election']['electionDay']
election_description_text = one_ballot_json['election']['name']
# We may receive some election data, but not all of the data we need
if one_ballot_results['election_data_retrieved']:
election_data_retrieved = True
success = True
if one_ballot_results['polling_location_retrieved']:
polling_location_retrieved = True
success = True
if one_ballot_results['contests_retrieved']:
contests_retrieved = True
# Now that we know we have new ballot data, we need to delete prior ballot data for this election
# because when we change voterAddress, we usually get different ballot items
ballot_item_list_manager = BallotItemListManager()
# We include a google_civic_election_id, so only the ballot info for this election is removed
google_civic_election_id_to_delete = one_ballot_json['election']['id'] # '0' would mean "delete all"
if positive_value_exists(google_civic_election_id_to_delete):
ballot_item_list_manager.delete_all_ballot_items_for_voter(
voter_id, google_civic_election_id_to_delete)
# store_on_ballot... adds an entry to the BallotReturned table
# We update VoterAddress with normalized address data in store_one_ballot_from_google_civic_api
store_one_ballot_results = store_one_ballot_from_google_civic_api(one_ballot_json, voter_id)
if store_one_ballot_results['success']:
status += 'RETRIEVED_FROM_GOOGLE_CIVIC_AND_STORED_BALLOT_FOR_VOTER '
success = True
#.........这里部分代码省略.........