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
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
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