예제 #1
0
    def _generate_filtered_promotion_phones_source(self, cid, camp_info_today, today, directory=config.PROMOTION_DIR):
        out_dir = os.path.join(directory, "id{id_num}/{current_day}".format(id_num=cid, current_day=today))  # /path/to/id###/yyyymmdd
        Utils.mkdirs_if_not_exist(out_dir)
        output_file = os.path.join(out_dir, "id{id_num}.filtered.csv".format(id_num=cid))

        promotion_phones = self._filter(today, cid, camp_info_today, directory)

        self._logger.debug("write to file :{0}".format(output_file))
        Utils.write_to_file(promotion_phones, output_file)
        return output_file
예제 #2
0
    def _generate_filtered_3rd_party_campaign_source(self, cid, given_date, directory=config.CAMPAIGN_DIR):
        output_directory = os.path.join(directory, "id{id_num}/{current_day}".format(id_num=cid, current_day=given_date))
        Utils.mkdirs_if_not_exist(output_directory)
        output_file = output_directory + "/" + "id{id_num}.filtered.csv".format(id_num=cid)

        filtered_phones = helper.read_phones_file(Utils.get_raw_campaign_file(config.CAMPAIGN_DIR, cid))

        if time.strftime("%Y%m%d") == given_date:
            self._logger.info("[stats]campaign id{0} has {1} base subs, {2} eligible subs".format(cid, len(filtered_phones), len(filtered_phones)))

        Utils.write_to_file(filtered_phones, output_file)
        return output_file
예제 #3
0
파일: app.py 프로젝트: haifzhan/Sample
def get_update_info(update_ids, camp_info_yesterday, camp_info_today, today, yesterday):
    tuples_list = list()
    for cid in update_ids:
        set_name, yesterday_file = get_whitelist_name_and_source_path(cid, camp_info_yesterday, yesterday)
        set_name, today_file = get_whitelist_name_and_source_path(cid, camp_info_today, today)
        today_set, yesterday_set = set(), set()

        try:
            today_set = helper.read_phones_file(today_file)
            yesterday_set = helper.read_phones_file(yesterday_file)
        except IOError as ie:
            logger.error("file doesn't not exist:{0}".format(ie))

        directory = config.PROMOTION_DIR if set_name == config.PROMOTION_SET else config.CAMPAIGN_DIR
        out_dir = os.path.join(directory, "id{0}/{1}/".format(cid, today))
        output_add, output_remove = os.path.join(out_dir, "add.csv"), os.path.join(out_dir, "remove.csv")
        Utils.write_to_file(today_set - yesterday_set, output_add)
        Utils.write_to_file((yesterday_set - today_set), output_remove)

        id_tuple =(cid, set_name, output_add, output_remove)
        tuples_list.append(id_tuple)
        logger.debug(id_tuple)
    return tuples_list