Exemple #1
0
    def test_add_amount_language_low_only(self):
        """Test add_amount_language() with low amount only."""
        input = "Current sentence"
        expected = "Current sentence where the price was greater than $10"

        new_data = copy.deepcopy(standard_data)
        new_data["amount_high"] = ""
        rl = ResultsLanguage(new_data)

        actual = rl.add_amount_language(input)

        self.assertEqual(actual, expected)
Exemple #2
0
    def test_add_nbhd_zip_language_nbhd_only(self):
        """Test add_nbhd_zip_language() with neighborhood only."""
        input = "Current sentence"
        expected = "Current sentence in the Gert Town neighborhood"

        new_data = copy.deepcopy(standard_data)
        new_data["zip_code"] = ""
        rl = ResultsLanguage(new_data)

        actual = rl.add_nbhd_zip_language(input)

        self.assertEqual(actual, expected)
Exemple #3
0
    def test_add_nbhd_zip_language_nothing_new(self):
        """Test add_nbhd_zip_language() nothing new."""
        input = "Current sentence"
        expected = "Current sentence"

        new_data = copy.deepcopy(standard_data)
        new_data["neighborhood"] = ""
        new_data["zip_code"] = ""
        rl = ResultsLanguage(new_data)

        actual = rl.add_nbhd_zip_language(input)

        self.assertEqual(actual, expected)
Exemple #4
0
    def test_add_date_language_none(self):
        """Test add_date_language() without any new data."""
        input = "Current sentence"
        expected = "Current sentence"

        new_data = copy.deepcopy(standard_data)
        new_data["begin_date"] = ""
        new_data["end_date"] = ""
        rl = ResultsLanguage(new_data)

        actual = rl.add_date_language(input)

        self.assertEqual(actual, expected)
Exemple #5
0
    def test_add_amount_language_none(self):
        """Test add_amount_language() without anything new."""
        input = "Current sentence"
        expected = "Current sentence"

        new_data = copy.deepcopy(standard_data)
        new_data["amount_low"] = ""
        new_data["amount_high"] = ""
        rl = ResultsLanguage(new_data)

        actual = rl.add_amount_language(input)

        self.assertEqual(actual, expected)
Exemple #6
0
    def get_search(self, request):
        """
        GET call for /realestate/search.

        :param request: The request object(?).
        :returns: A data dict, SQL query result and JS data.
        """
        data = self.parse_query_string(request)
        data = self.decode_data(data)
        data = self.convert_entries_to_db_friendly(data)

        data['update_date'] = self.get_last_updated_date()
        data['neighborhoods'] = self.get_neighborhoods()

        data = self.determine_pages(data)

        query = self.find_page_of_publishable_rows_fitting_criteria(data)

        for row in query:
            row.amount = get_num_with_curr_sign(row.amount)
            row.document_date = ymd_to_full_date(
                (row.document_date).strftime('%Y-%m-%d'), no_day=True)

        features = self.build_features_json(query)

        jsdata = {"type": "FeatureCollection", "features": features}

        data['results_css_display'] = 'none'

        if data['number_of_records'] == 0:
            data['current_page'] = 0
            data['results_css_display'] = 'block'

        data = self.revert_entries(data)

        data['map_button_state'] = False

        data['results_language'] = ResultsLanguage(data).main()

        log.debug('data')

        return data, query, jsdata
Exemple #7
0
    def mapquery_db(self, data):
        """TODO."""
        data['bounds'] = [
            data['bounds']['_northEast']['lat'],
            data['bounds']['_northEast']['lng'],
            data['bounds']['_southWest']['lat'],
            data['bounds']['_southWest']['lng']
        ]

        data['update_date'] = self.get_last_updated_date()

        log.debug('map_button_state')

        if data['map_button_state']:  # map filtering is on
            query = self.filter_by_map(data)  # TODO: was defined elsewhere
        else:  # map filtering is off
            query = self.do_not_filter_by_map(data)

        for row in query:
            row.amount = get_num_with_curr_sign(row.amount)
            row.document_date = ymd_to_full_date(
                (row.document_date).strftime('%Y-%m-%d'), no_day=True)

        features = self.build_features_json(query)

        jsdata = {"type": "FeatureCollection", "features": features}

        if data['number_of_records'] == 0:
            data['current_page'] = 0
            data['results_css_display'] = 'block'
        else:
            data['results_css_display'] = 'none'

        data = self.revert_entries(data)

        data['results_language'] = ResultsLanguage(data).main()

        log.debug('data returned:')
        log.debug(data)

        return data, query, jsdata