def retrieve_voter_guide( self, voter_guide_id=0, google_civic_election_id=0, vote_smart_time_span=None, organization_we_vote_id=None, public_figure_we_vote_id=None, owner_we_vote_id=None, ): voter_guide_id = convert_to_int(voter_guide_id) google_civic_election_id = convert_to_int(google_civic_election_id) organization_we_vote_id = convert_to_str(organization_we_vote_id) public_figure_we_vote_id = convert_to_str(public_figure_we_vote_id) owner_we_vote_id = convert_to_str(owner_we_vote_id) error_result = False exception_does_not_exist = False exception_multiple_object_returned = False voter_guide_on_stage = VoterGuide() voter_guide_on_stage_id = 0 status = "ERROR_ENTERING_RETRIEVE_VOTER_GUIDE" try: if positive_value_exists(voter_guide_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_ID" # Set this in case the get fails voter_guide_on_stage = VoterGuide.objects.get(id=voter_guide_id) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_ID" elif positive_value_exists(organization_we_vote_id) and positive_value_exists(google_civic_election_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_ORGANIZATION_WE_VOTE_ID" # Set this in case the get fails voter_guide_on_stage = VoterGuide.objects.get( google_civic_election_id=google_civic_election_id, organization_we_vote_id=organization_we_vote_id ) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_ORGANIZATION_WE_VOTE_ID" elif positive_value_exists(organization_we_vote_id) and positive_value_exists(vote_smart_time_span): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_ORGANIZATION_WE_VOTE_ID_AND_TIME_SPAN" voter_guide_on_stage = VoterGuide.objects.get( vote_smart_time_span=vote_smart_time_span, organization_we_vote_id=organization_we_vote_id ) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_ORGANIZATION_WE_VOTE_ID_AND_TIME_SPAN" elif positive_value_exists(public_figure_we_vote_id) and positive_value_exists(google_civic_election_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_PUBLIC_FIGURE_WE_VOTE_ID" # Set this in case the get fails voter_guide_on_stage = VoterGuide.objects.get( google_civic_election_id=google_civic_election_id, public_figure_we_vote_id=public_figure_we_vote_id ) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_PUBLIC_FIGURE_WE_VOTE_ID" elif positive_value_exists(owner_we_vote_id) and positive_value_exists(google_civic_election_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_VOTER_WE_VOTE_ID" # Set this in case the get fails voter_guide_on_stage = VoterGuide.objects.get( google_civic_election_id=google_civic_election_id, owner_we_vote_id=owner_we_vote_id ) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_VOTER_WE_VOTE_ID" else: status = "Insufficient variables included to retrieve one voter guide." except VoterGuide.MultipleObjectsReturned as e: handle_record_found_more_than_one_exception(e, logger) error_result = True exception_multiple_object_returned = True status += ", ERROR_MORE_THAN_ONE_VOTER_GUIDE_FOUND" except VoterGuide.DoesNotExist: error_result = True exception_does_not_exist = True status += ", VOTER_GUIDE_NOT_FOUND" voter_guide_on_stage_found = True if voter_guide_on_stage_id > 0 else False results = { "success": True if voter_guide_on_stage_found else False, "status": status, "voter_guide_found": voter_guide_on_stage_found, "voter_guide_id": voter_guide_on_stage_id, "organization_we_vote_id": voter_guide_on_stage.organization_we_vote_id, "public_figure_we_vote_id": voter_guide_on_stage.public_figure_we_vote_id, "owner_we_vote_id": voter_guide_on_stage.owner_we_vote_id, "voter_guide": voter_guide_on_stage, "error_result": error_result, "DoesNotExist": exception_does_not_exist, "MultipleObjectsReturned": exception_multiple_object_returned, } return results
def retrieve_voter_guide_possibility( self, voter_guide_possibility_id=0, google_civic_election_id=0, voter_guide_possibility_url="", organization_we_vote_id=None, public_figure_we_vote_id=None, owner_we_vote_id=None, ): voter_guide_possibility_id = convert_to_int(voter_guide_possibility_id) google_civic_election_id = convert_to_int(google_civic_election_id) organization_we_vote_id = convert_to_str(organization_we_vote_id) public_figure_we_vote_id = convert_to_str(public_figure_we_vote_id) owner_we_vote_id = convert_to_str(owner_we_vote_id) error_result = False exception_does_not_exist = False exception_multiple_object_returned = False voter_guide_possibility_on_stage = VoterGuidePossibility() voter_guide_possibility_on_stage_id = 0 try: if positive_value_exists(voter_guide_possibility_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_POSSIBILITY_WITH_ID" # Set this in case the get fails voter_guide_possibility_on_stage = VoterGuidePossibility.objects.get(id=voter_guide_possibility_id) voter_guide_possibility_on_stage_id = voter_guide_possibility_on_stage.id status = "VOTER_GUIDE_POSSIBILITY_FOUND_WITH_ID" success = True elif positive_value_exists(voter_guide_possibility_url): status = "ERROR_RETRIEVING_VOTER_GUIDE_POSSIBILITY_WITH_URL" # Set this in case the get fails voter_guide_possibility_on_stage = VoterGuidePossibility.objects.get( voter_guide_possibility_url=voter_guide_possibility_url ) voter_guide_possibility_on_stage_id = voter_guide_possibility_on_stage.id status = "VOTER_GUIDE_POSSIBILITY_FOUND_WITH_URL" success = True elif positive_value_exists(organization_we_vote_id) and positive_value_exists(google_civic_election_id): # Set this status in case the 'get' fails status = "ERROR_RETRIEVING_VOTER_GUIDE_POSSIBILITY_WITH_ORGANIZATION_WE_VOTE_ID" voter_guide_possibility_on_stage = VoterGuidePossibility.objects.get( google_civic_election_id=google_civic_election_id, organization_we_vote_id=organization_we_vote_id ) voter_guide_possibility_on_stage_id = voter_guide_possibility_on_stage.id status = "VOTER_GUIDE_POSSIBILITY_FOUND_WITH_ORGANIZATION_WE_VOTE_ID" success = True elif positive_value_exists(public_figure_we_vote_id) and positive_value_exists(google_civic_election_id): # Set this status in case the 'get' fails status = "ERROR_RETRIEVING_VOTER_GUIDE_POSSIBILITY_WITH_PUBLIC_FIGURE_WE_VOTE_ID" voter_guide_possibility_on_stage = VoterGuidePossibility.objects.get( google_civic_election_id=google_civic_election_id, public_figure_we_vote_id=public_figure_we_vote_id ) voter_guide_possibility_on_stage_id = voter_guide_possibility_on_stage.id status = "VOTER_GUIDE_POSSIBILITY_FOUND_WITH_PUBLIC_FIGURE_WE_VOTE_ID" success = True elif positive_value_exists(owner_we_vote_id) and positive_value_exists(google_civic_election_id): # Set this status in case the 'get' fails status = "ERROR_RETRIEVING_VOTER_GUIDE_POSSIBILITY_WITH_VOTER_WE_VOTE_ID" voter_guide_possibility_on_stage = VoterGuidePossibility.objects.get( google_civic_election_id=google_civic_election_id, owner_we_vote_id=owner_we_vote_id ) voter_guide_possibility_on_stage_id = voter_guide_possibility_on_stage.id status = "VOTER_GUIDE_POSSIBILITY_FOUND_WITH_VOTER_WE_VOTE_ID" success = True else: status = "VOTER_GUIDE_POSSIBILITY_NOT_FOUND_INSUFFICIENT_VARIABLES" success = False except VoterGuidePossibility.MultipleObjectsReturned as e: handle_record_found_more_than_one_exception(e, logger) error_result = True exception_multiple_object_returned = True status += ", ERROR_MORE_THAN_ONE_VOTER_GUIDE_POSSIBILITY_FOUND" success = False except VoterGuidePossibility.DoesNotExist: error_result = True exception_does_not_exist = True status = "VOTER_GUIDE_POSSIBILITY_NOT_FOUND" success = True voter_guide_possibility_on_stage_found = True if voter_guide_possibility_on_stage_id > 0 else False results = { "success": success, "status": status, "voter_guide_possibility_found": voter_guide_possibility_on_stage_found, "voter_guide_possibility_id": voter_guide_possibility_on_stage_id, "voter_guide_possibility_url": voter_guide_possibility_on_stage.voter_guide_possibility_url, "organization_we_vote_id": voter_guide_possibility_on_stage.organization_we_vote_id, "public_figure_we_vote_id": voter_guide_possibility_on_stage.public_figure_we_vote_id, "owner_we_vote_id": voter_guide_possibility_on_stage.owner_we_vote_id, "voter_guide": voter_guide_possibility_on_stage, "error_result": error_result, "DoesNotExist": exception_does_not_exist, "MultipleObjectsReturned": exception_multiple_object_returned, } return results
def retrieve_voter_guide(self, voter_guide_id=0, google_civic_election_id=0, published_about_we_vote_id=None, published_about_voter_id=0): voter_guide_id = convert_to_int(voter_guide_id) google_civic_election_id = convert_to_int(google_civic_election_id) published_about_we_vote_id = convert_to_str(published_about_we_vote_id) published_about_voter_id = convert_to_int(published_about_voter_id) error_result = False exception_does_not_exist = False exception_multiple_object_returned = False voter_guide_on_stage = VoterGuide() voter_guide_on_stage_id = 0 status = "ERROR_ENTERING_RETRIEVE_VOTER_GUIDE" try: if positive_value_exists(voter_guide_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_ID" voter_guide_on_stage = VoterGuide.objects.get(id=voter_guide_id) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_ID" elif positive_value_exists(published_about_we_vote_id) and positive_value_exists(google_civic_election_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_WE_VOTE_ID" voter_guide_on_stage = VoterGuide.objects.get(google_civic_election_id=google_civic_election_id, published_about_we_vote_id=published_about_we_vote_id) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_WE_VOTE_ID" elif positive_value_exists(published_about_voter_id) and positive_value_exists(google_civic_election_id): status = "ERROR_RETRIEVING_VOTER_GUIDE_WITH_VOTER_ID" voter_guide_on_stage = VoterGuide.objects.get(google_civic_election_id=google_civic_election_id, published_about_voter_id=published_about_voter_id) voter_guide_on_stage_id = voter_guide_on_stage.id status = "VOTER_GUIDE_FOUND_WITH_VOTER_ID" except VoterGuide.MultipleObjectsReturned as e: handle_record_found_more_than_one_exception(e, logger) error_result = True exception_multiple_object_returned = True status = "ERROR_MORE_THAN_ONE_VOTER_GUIDE_FOUND" # logger.warn("VoterGuide.MultipleObjectsReturned") except VoterGuide.DoesNotExist: error_result = True exception_does_not_exist = True status += ", VOTER_GUIDE_NOT_FOUND" # logger.warn("VoterGuide.DoesNotExist") voter_guide_on_stage_found = True if voter_guide_on_stage_id > 0 else False results = { 'success': True if voter_guide_on_stage_found else False, 'status': status, 'voter_guide_found': voter_guide_on_stage_found, 'voter_guide_id': voter_guide_on_stage.id if voter_guide_on_stage.id else voter_guide_on_stage_id, 'published_about_we_vote_id': voter_guide_on_stage.published_about_we_vote_id if voter_guide_on_stage.published_about_we_vote_id else published_about_we_vote_id, 'published_about_voter_id': voter_guide_on_stage.published_about_voter_id if voter_guide_on_stage.published_about_voter_id else published_about_voter_id, 'voter_guide': voter_guide_on_stage, 'error_result': error_result, 'DoesNotExist': exception_does_not_exist, 'MultipleObjectsReturned': exception_multiple_object_returned, } return results