Exemple #1
0
    def post_process_one(self, m, search_name, get_details=False, force=False):
        house_details = None
        if get_details:
            house_details = self.rfapi.get_house_details(m,
                                                         force=force,
                                                         cache_time_format="")

        #logging.debug("post_process(get_details={})=>{}".format(get_details, house_details))
        RFAPI.generate_url_for_house(m)
        ha = RFAPI.house_address_parts(m)
        scores = None
        try:
            scores = self.get_scores(m, house_details)
        except:
            logging.error("house : {}, throw {}".format(
                json.dumps(m), traceback.format_exc()))
        if scores is None:
            return m

        m['scores'] = scores
        is_good, message = HouseScore.get_house_score_message(m)

        if is_good:
            if house_details is None:
                house_details = self.rfapi.get_house_details(
                    m, force=force, cache_time_format="")
                scores = self.get_scores(m, house_details)
            house_neighborhoods = RFAPI.house_neighborhoods(m, house_details)
            m['scores'] = scores
            is_good, message = HouseScore.get_house_score_message(m)

            logging.info(message)
            # getting city data takes a long time, will do it only for winning houses!
            """
            self.city_data.get_data(
                house_address= ha['display']
                , city=ha['city']     # Everett
                , state_short=ha['state']
                , zip_code=ha['zip']
                , house_neighborhoods=house_neighborhoods
                , force=force)
            """
        else:
            logging.debug(message)

        return m