def live_by_subreddit(cls, sr): if sr == Frontpage: sr_id = '' else: sr_id = sr._id r = LiveAdWeights.get([sr_id]) return [i.link for i in r[sr_id]]
def set_live_promotions(weights): start = time.time() # First, figure out which subreddits have had ads recently today = promo_datetime_now() yesterday = today - timedelta(days=1) tomorrow = today + timedelta(days=1) promo_weights = PromotionWeights.get_campaigns(yesterday, tomorrow) subreddit_names = set(p.sr_name for p in promo_weights) subreddits = Subreddit._by_name(subreddit_names).values() # Set the default for those subreddits to no ads all_weights = {sr._id: [] for sr in subreddits} # Mix in the currently live ads all_weights.update(weights) if "" in all_weights: all_weights[LiveAdWeights.FRONT_PAGE] = all_weights.pop("") LiveAdWeights.set_all_from_weights(all_weights) end = time.time() g.log.info("promote.set_live_promotions completed in %s seconds", end - start)
def set_live_promotions(weights): start = time.time() # First, figure out which subreddits have had ads recently today = promo_datetime_now() yesterday = today - timedelta(days=1) tomorrow = today + timedelta(days=1) promo_weights = PromotionWeights.get_campaigns(yesterday, tomorrow) subreddit_names = set(p.sr_name for p in promo_weights) subreddits = Subreddit._by_name(subreddit_names).values() # Set the default for those subreddits to no ads all_weights = {sr._id: [] for sr in subreddits} # Mix in the currently live ads all_weights.update(weights) if '' in all_weights: all_weights[LiveAdWeights.FRONT_PAGE] = all_weights.pop('') LiveAdWeights.set_all_from_weights(all_weights) end = time.time() g.log.info("promote.set_live_promotions completed in %s seconds", end - start)
def get_live_promotions(srids): timer = g.stats.get_timer("promote.get_live") timer.start() weights = LiveAdWeights.get(srids) timer.stop() return weights
def subreddits_with_promos(cls): sr_ids = LiveAdWeights.get_live_subreddits() srs = Subreddit._byID(sr_ids, return_dict=False) sr_names = sorted([sr.name for sr in srs], key=lambda s: s.lower()) return sr_names